Mac OS X Sandbox:对用户所选文件的共享访问

时间:2012-09-28 13:17:58

标签: macos appstore-sandbox

我有一个安装代理的应用程序,我希望代理能够使用NSOpenPanel访问应用程序中用户选择的文件。

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

2 个答案:

答案 0 :(得分:1)

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

然后,从OS X 10.7.4开始,可以使用application-groups entitlements,以便您的主应用程序和代理可以共享此权利,从而允许它执行IPC并共享对组容器的访问权限(〜/图书馆/集团容器/.

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

答案 1 :(得分:1)

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