我有一个安装代理的应用程序,我希望代理能够访问用户在应用程序中使用NSOpenPanel
.
在 Mac OS Sandbox 中执行此操作的最佳方法是什么?
我有一个安装代理的应用程序,我希望代理能够访问用户在应用程序中使用NSOpenPanel
.
在 Mac OS Sandbox 中执行此操作的最佳方法是什么?
10.7.5 中并不真正支持组容器,因为 containerURLForSecurityApplicationGroupIdentifier 仅在 10.8+ 中受支持。
让进程在用户登录时运行的推荐方法是使用 SMLoginItemSetEnabled()。您可以通过将代理捆绑包放入主应用捆绑包的登录项文件夹 (MainApp/Contents/Library/LoginItems/Agent) 来执行此操作。
然后,从 OS X 10.7.4 开始,可以使用应用程序组权利,以便您的主应用程序和代理可以共享此权利,允许它执行 IPC 并共享对组容器的访问(~/Library/Group Containers /。
然后,当用户使用 NSOpenPanel 选择文件时,您可以要求 UI 将所选文件复制到组容器中,以便代理可以处理它们。