2012-01-25 88 views
3

我正在使用this tutorial将登录项添加到我的应用程序。它大部分都按预期工作,我已经设法创建一个沙箱助手应用程序,并将其注册到启动服务,因此它会在登录时启动,因为它应该是。沙盒助手应用程序无法启动正确的父应用程序

现在的问题是,教程不是非常具体的如何从这个帮手应用程序启动您的主应用程序包。它只包括这个:

[[NSWorkspace sharedWorkspace] launchApplication: 
@"/Path/To/Main/App/Bundle"]; 

但如果我尝试任何NSWorkspace方法来启动与失败的完整路径的应用程序,因为沙盒不允许这样。

如果我尝试将上述方法的参数设置为我的应用程序名称,它可以正常工作,但好奇地启动我的应用程序的旧版本(我将这些存储在我的硬盘上,但它们不在/应用程序文件夹中,只有我的应用程序的正确版本位于/ Applications文件夹中)

现在是否有人为什么会发生这种情况,或者我该如何解决这个问题?

+0

如果您是注册的Mac开发人员,则可以在开发者论坛上提问您的问题,任何人的回答都会知道您的NDA和NDA是一样的。 – CRD

回答

6

我发现帮手应用程序需要可执行文件的路径,而不是捆绑路径。

所以,如果你给它: /应用/我的大App.app 尝试使用: /Applications/MyGreatApp.app/Contents/MacOS/My大应用

如果您的沙盒应用程序是不在Applications文件夹中,这会在默认情况下失败,同时记录各种权限错误。

+0

非常感谢,一直在为此奋斗一整天,偶然发现了这篇文章。 –

相关问题