2

我有一个安装代理的应用程序,我希望代理能够访问用户在应用程序中使用NSOpenPanel.

在 Mac OS Sandbox 中执行此操作的最佳方法是什么?

4

2 回答 2

1

10.7.5 中并不真正支持组容器,因为 containerURLForSecurityApplicationGroupIdentifier 仅在 10.8+ 中受支持。

于 2013-06-21T18:20:15.550 回答
1

让进程在用户登录时运行的推荐方法是使用 SMLoginItemSetEnabled()。您可以通过将代理捆绑包放入主应用捆绑包的登录项文件夹 (MainApp/Contents/Library/LoginItems/Agent) 来执行此操作。

然后,从 OS X 10.7.4 开始,可以使用应用程序组权利,以便您的主应用程序和代理可以共享此权利,允许它执行 IPC 并共享对组容器的访问(~/Library/Group Containers /。

然后,当用户使用 NSOpenPanel 选择文件时,您可以要求 UI 将所选文件复制到组容器中,以便代理可以处理它们。

于 2012-10-05T12:53:43.490 回答