6

试图让我的应用程序与沙盒一起工作我陷入了这个问题:

我需要将我的应用程序添加到登录项,因此我已按照以下步骤操作:

  • 在 open exec 中创建一个HelperApp.app (with is agent = YES) 执行此代码:

    NSString *appPath = @"/Applications/MyNewApp.app";
    [[NSWorkspace sharedWorkspace] launchApplication:appPath];
    [NSApp terminate:nil];
    

    这个应用程序是沙盒的。

  • 我在 MyNewApp.app 包中添加了一个复制构建阶段,其中包含子路径Contents/Library/LoginItems和目标wrapper

    显然MyNewApp.app也是沙盒的

  • MyNewApp.app 中,我使用HelperApp.appSMLoginItemSetEnabled的捆绑 ID注册

现在一切正常,但是......当MyNewApp.app尝试启动MyNewApp.app时,我收到一个错误:

LSOpenFromURLSpec() returned -10827 for application /Applications/MyNewApp.app path (null).

但是,如果我尝试使用 HelperApp.app 来启动一个非沙盒(即 Steam.app)应用程序,它就像一个魅力!

还有其他方法可以启动应用程序吗?NSWorkSpace 可能适用于沙盒上下文中不允许的功能。你有什么建议?

4

1 回答 1

4

您可能想看看我的教程,了解如何在登录时启动在沙箱中工作

于 2012-07-03T21:41:50.677 回答