我有必要重新启动我的应用程序。一派,有两个建议:
1. https://gist.github.com/2204627
直接得到了lsboxd消息。
2. http://13bold.com/tutorials/relaunching-your-application/
了LSOpenFromURLSpec()返回-10827 ...消息
两者都涉及到沙盒。
我想知道,有没有什么办法来重新启动我的应用程序沙箱部署?谢谢!
我有必要重新启动我的应用程序。一派,有两个建议:
1. https://gist.github.com/2204627
直接得到了lsboxd消息。
2. http://13bold.com/tutorials/relaunching-your-application/
了LSOpenFromURLSpec()返回-10827 ...消息
两者都涉及到沙盒。
我想知道,有没有什么办法来重新启动我的应用程序沙箱部署?谢谢!
沙盒应用程序可以启动使用NSWorkspace
的launchAppWithBundleIdentifier:
自身的新副本;通过在选项NSWorkspaceLaunchAsync
,NSWorkspaceLaunchNewInstance
异步运行创建您的应用程序的新进程和调用返回后终止当前进程(或拨打电话为响应一个NSApplicationWillTerminateNotification
的一部分)。
我已经试过launchAppWithBundleIdentifier:...方法简单地用“com.apple.dock”,似乎工作,但仍然得到了“lsboxd:@AE ......”在控制台中。我不确定它是否与沙盒限制冲突? – Terry
@Terry - 也许我误解了,你不应该用“com.apple.dock”这样做,这是你自己的应用程序在沙箱下运行时重新启动自己的方法。也就是说,也许这种方法不再有效,沙箱是臭名昭着的,如果可能的话应该避免。该方法来自开发人员论坛上的一个主题 - 今年早些时候搜索“launchAppWithBundleIdentifier” - 并在其中一名Apple工程师确认了该过程。如果它不再在该帖子中工作,也许苹果工程师会回应。 – CRD
“当部署沙箱时”是什么意思? – TheAmateurProgrammer
@theAmateurProgrammer说,我的意思是我的应用程序是沙盒。 – Terry
您的应用在编译时应该被沙盒化。为什么你需要重新启动你的应用程序? – TheAmateurProgrammer