我有一个MAC OSX目标C应用程序说first.app,其中我使用具有管理员权限的NSAppleScript来运行shell脚本。该脚本缩进以启动另一个Objective C应用程序说second.app。
当您在shell脚本中使用打开命令Ex:“open second.app”时,它可以正常工作。
但是如果你通过在shell脚本中调用它的二进制Ex:“/ second.app/Contents/MacOS/second”来启动second.app,那么控件不会回到first.app直到second.app关闭。当我们关闭second.app然后first.app恢复。
如上所述,从open命令启动应用程序并直接调用应用程序二进制文件有什么区别?
答案 0 :(得分:0)
调用
open Second.app
与在Finder中双击应用程序图标相同。应用程序通过LaunchServices启动,open
命令立即返回。
调用
/path/to/Second.app/Contents/MacOS/Second
直接启动应用程序(不使用LaunchServices),仅在应用程序终止时返回。