【问题标题】:Launch MacOS App from Terminal从终端启动 MacOS 应用程序
【发布时间】:2018-02-17 01:26:55
【问题描述】:

我为 MacOS 编写了一个应用程序,它采用命令行参数,因此需要从 Terminal 运行。在CMake,我有以下几行:

if(APPLE)
   add_executable(myApp MACOSX_BUNDLE myApp.cpp)
endif()

INSTALL(TARGETS myApp DESTINATION /usr/local/bin)

make install之后,应用程序可以从Terminal运行为:

/usr/local/bin/myApp.app/Contents/MacOS/myApp  <command-line-args>

由于MACOSX_BUNDLE,上面太麻烦了,我想简单地调用它为myApp

【问题讨论】:

  • 你对设置PATH了解多少?
  • 我确实想过,但没有比手动设置应用内容文件夹路径更优雅的解决方案吗? make install 有什么技巧吗?
  • 杜尔。我是愚蠢的。你控制程序。您可能控制构建脚本。将符号链接构建指令添加到 make install 规则中。
  • 只需删除 MACOSX_BUNDLE 并像 Linux/Win 二进制文件一样构建它
  • @dr_rk 也许您应该提出一个问题,即为什么您似乎需要构建为一个捆绑包才能使回调工作。我怀疑你真的这样做了。

标签: macos makefile cmake


【解决方案1】:

如果您在Info.plist 中构建了包含所有必要信息的正确捆绑包,则可以通过open -b $BundleIdentifier 打开应用程序。在终端中查看Apple Documentationman open 的输出。

【讨论】:

    猜你喜欢
    • 2011-04-26
    • 2019-03-12
    • 2015-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多