结合GUI和命令行OS X应用程序

hot*_*aw2 5 macos

是否可以创建一个可以从*nix命令行严格运行的Mac OS X应用程序(使用stdin/stdout,来自终端控制台或通过ssh等),还可以从应用程序图标启动使用Mac GUI进行所有用户交互(不需要终端)?如果是这样,怎么样?

我已经可以使用两个可执行文件来实现这样的功能,一个是前端的GUI前端,另一个是管道,套接字,共享内存或者用于通信的Applescript(et.al.).这个问题是我是否可以使用单个可执行文件和单个应用程序进程空间来完成此操作

有没有办法在不将新的命令行参数传递给命令行可执行文件的情况下执行此操作?(因为存在与使用命令行应用程序相关的遗留问题).

3Do*_*ons 3

我不是 100% 确定这是否有效,但LSEnvironmentkey in的文档Info.plist似乎表明指定的环境变量仅在您的应用程序由 Finder 启动时才会定义。

如果您要在中定义一个变量LSEnvironment(我们称之为MYAPP_GUI)并在启动时检查其值,则它应该在使用 Finder 时存在,而不是在使用终端时存在。这会告诉你是否显示 GUI 或使用 stdio