执行launchctl我需要从我的沙盒OSX的应用程序执行launchctl load/unload
命令。该应用具有read-write
对启动代理的plist
文件所在的文件夹的权限(使用应用的用户之前授予的安全范围的书签)。在沙盒Mac应用程序
但是应用程序获取以下错误:
-
5/22/13 9:15:56.420 AM sandboxd[28463]: ([28473]) launchctl(28473) deny file-read-data /private/var/db/launchd.db/com.apple.launchd.peruser.501/overrides.plist
-
要清楚,我不希望自己的应用程序添加到启动项为自动启动,我也发现了类似的话题这http://www.mail-archive.com/[email protected]/msg80413.html谈话没有任何结果。
谢谢你,但'SMJobBless'示例还使用了 “授权服务” 的方法调用(' AuthorizationCopyRights')和Apple文档声明:“重要信息:应用程序沙箱中不支持授权服务API,因为它允许权限升级。” – anka
这是我忽略的一个好点。我打算告诉你看看Apple的“EvenBetterAuthorizationSample”,但它也使用授权服务。我开始认为你所要求的是不可能的,因为沙盒太严格了。 – TheDarkKnight
是的,值得注意的是,任何人看到这个答案都值得注意,沙盒应用程序不允许提升权限,尽管沙盒应用程序可以包含帮助程序应用程序,但助手应用程序也必须被沙盒化。 – AriX