2012-07-31 34 views
1

我想在代碼中刪除我的應用程序主包中的文件。 我想要的是:通過[[NSBundle mainBundle] pathForResource:ofType:]獲取文件路徑,然後嘗試通過[[NSFileManager defaultManager] removeItemAtPath:]將其刪除。在沙箱下的主包中刪除文件失敗

我的問題是,我的應用程序是沙箱,所以我得到了這樣的信息:sandboxd拒絕文件的寫入後取消鏈接...

有沒有辦法解決這個?任何想法將不勝感激。

回答

1

您不能刪除自己的沙箱中的文件,因爲它會破壞用於驗證應用有效性的數字簽名。

如果你想要以這種方式操作文件,那麼你需要將它們從你的軟件包複製到緩存目錄中,在那裏你可以做任何你喜歡的事情。

+0

這似乎很有說服力,但阻止我實施我的想法。 – Terry 2012-08-01 07:53:10

+0

@Terry你的想法是什麼? – trojanfoe 2012-08-01 07:54:58

+0

我想要一個文件只能在包中使用一次。 – Terry 2012-08-02 09:24:24