试图让我的应用程序与沙盒一起工作我陷入了这个问题:
我需要将我的应用程序添加到登录项,因此我已按照以下步骤操作:
在 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.app
SMLoginItemSetEnabled
的捆绑 ID注册
现在一切正常,但是......当MyNewApp.app尝试启动MyNewApp.app时,我收到一个错误:
LSOpenFromURLSpec() returned -10827 for application /Applications/MyNewApp.app path (null).
但是,如果我尝试使用 HelperApp.app 来启动一个非沙盒(即 Steam.app)应用程序,它就像一个魅力!
还有其他方法可以启动应用程序吗?NSWorkSpace 可能适用于沙盒上下文中不允许的功能。你有什么建议?