我在打电话
[[NSWorkspace sharedWorkspace] launchApplication:path];
Run Code Online (Sandbox Code Playgroud)
从我的沙盒应用程序,我在控制台中收到此错误:
9/5/11 12:23:12.462 PM lsboxd:拒绝为21383产生<PATH删除> - 原因-10826
9/5/11 12:23:12.463 PM App:spawn_via_launchd()失败,错误= 54 label = [0x0-0x1994993] .MYApp path = <PATH REDACTED> flags = 0
9/5/11 12:23:12.464 PM应用程序:LSOpenFromURLSpec()为应用程序<PATH REDACTED>(null)返回-10810.
换句话说,我显然被"启动服务沙箱守护进程"(lsboxd)阻止,它不认为应用程序1应该启动应用程序2.
对于记录10826是"用户没有启动应用程序的权限"然后10810是"发生未知错误"
有没有人知道这个案子的权利?
如何从沙盒应用程序启动其他应用程序(请不要说AppleScript - 这是一个无法运作的噩梦,尤其是从沙盒应用程序或XPC服务调用时).理想的方法是在沙箱中使用(严重残缺的)NSWorkspace.
我需要在系统启动时启动我的应用程序,但问题是:它已经在App Store中,所以我必须遵循一些规则,比如使用沙盒.这导致所需函数失败,如LSSharedFileListInsertItemURL和SMLoginItemSetEnabled.在这种情况下我该怎么做?
我正在使用SMLoginItemSetEnabled登录时启动应用程序。一切正常,只是应用程序没有显示在“用户首选项”窗口的“登录项”下。我已经在 OS X Lion 中尝试过这个。
/Library/LaunchDaemons或 中找不到任何东西/Library/LaunchAgents。