删除沙箱下主捆绑中的文件失败

时间:2012-07-31 09:13:37

标签: macos cocoa sandbox file-management

我正在尝试在代码中删除应用程序主包中的文件。 我正在尝试的是:通过[[NSBundle mainBundle] pathForResource:ofType:]获取文件路径,然后尝试通过[[NSFileManager defaultManager] removeItemAtPath:]删除它。

我的问题是,我的应用程序是沙盒,所以我得到这样的信息:sandboxd deny file-write-unlink ...

有没有办法克服这个问题?任何想法都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您无法删除自己沙箱中的文件,因为它会破坏用于验证应用有效性的数字签名。

如果你想拥有可以这种方式操作的文件,那么你需要将它们从你的包中复制到caches目录中,你可以在那里做任何你喜欢的事情。