如何以编程方式删除启用沙箱的应用程序中的应用程序文件夹中的文

时间:2014-02-12 09:12:25

标签: macos cocoa sandbox

我正在尝试从Cocoa应用程序中删除应用程序文件夹中的文件。通过启用沙盒模式,我无法删除应用程序文件夹中的文件。

此沙盒模式有一些选项可用于启用对下载,图片,电影,音乐和用户所选文件的读/写访问。

在此之前,我为用户选择的文件启用了读写访问,并使用NSOpenPanel完成了删除操作。它工作正常并删除应用程序文件夹中的文件,但每次运行我的应用程序时它都会打开面板。在这里,我不希望任何用户交互/权限删除应用程序文件夹中的文件。是否有任何解决方案可以删除具有上述约束的文件。

1 个答案:

答案 0 :(得分:2)

您需要使用 Security-Scoped Bookmarks

  

您的应用对其容器外部的文件系统位置的访问权限(通过用户意图授予您的应用程序,例如通过Powerbox)在应用程序启动或系统重新启动时不会自动保留。当您的应用重新打开时,您必须重新开始。 (这个例外的一个例外是在您的应用程序终止时打开的文件,由于OS X Resume功能而保留在沙箱中。)