2012-09-08 48 views
1

所有,部署沙箱时是否可以重新启动应用程序?

我有必要重新启动我的应用程序。一派,有两个建议:
1. https://gist.github.com/2204627
直接得到了lsboxd消息。

2. http://13bold.com/tutorials/relaunching-your-application/
了LSOpenFromURLSpec()返回-10827 ...消息

两者都涉及到沙盒。

我想知道,有没有什么办法来重新启动我的应用程序沙箱部署?谢谢!

+0

“当部署沙箱时”是什么意思? – TheAmateurProgrammer

+0

@theAmateurProgrammer说,我的意思是我的应用程序是沙盒。 – Terry

+0

您的应用在编译时应该被沙盒化。为什么你需要重新启动你的应用程序? – TheAmateurProgrammer

回答

6

沙盒应用程序可以启动使用NSWorkspacelaunchAppWithBundleIdentifier:自身的新副本;通过在选项NSWorkspaceLaunchAsyncNSWorkspaceLaunchNewInstance异步运行创建您的应用程序的新进程和调用返回后终止当前进程(或拨打电话为响应一个NSApplicationWillTerminateNotification的一部分)。

+0

我已经试过launchAppWithBundleIdentifier:...方法简单地用“com.apple.dock”,似乎工作,但仍然得到了“lsboxd:@AE ......”在控制台中。我不确定它是否与沙盒限制冲突? – Terry

+0

@Terry - 也许我误解了,你不应该用“com.apple.dock”这样做,这是你自己的应用程序在沙箱下运行时重新启动自己的方法。也就是说,也许这种方法不再有效,沙箱是臭名昭着的,如果可能的话应该避免。该方法来自开发人员论坛上的一个主题 - 今年早些时候搜索“launchAppWithBundleIdentifier” - 并在其中一名Apple工程师确认了该过程。如果它不再在该帖子中工作,也许苹果工程师会回应。 – CRD

相关问题