2013-04-09 42 views
0

我在我的應用程序中生成了一個.aiff文件,它位於/ Library中深處的派生數據文件夾中。當我在Xcode中運行應用程序時,一切正常。但是,當我將它存檔時,程序在嘗試寫入時崩潰。我該如何解決這個問題?我需要學習使用Core Data還是有一個簡單的解決方法?在歸檔應用程序中寫入派生數據

+3

您確定你的意思是「派生數據」?這就是Xcode保留其構建產品的地方,而不是應用程序知道或寫入的地方。 – 2013-04-09 00:22:50

+0

糟糕...我絕對是指派生數據,但我不知道一個應用程序無法訪問它們。我應該用什麼來代替? – 2013-04-09 01:02:59

回答

2

您是否試圖寫入當前工作目錄?

(如果你想這樣做[foo writeToFile:@"output.aiff" …],你是。)

當你在Xcode中運行,在CWD是內DerivedData構建的產品目錄,你的應用程序包被創建。

當您在Xcode之外運行時,CWD是啓動磁盤的根目錄,您通常不具有寫入訪問權限,也不應該在沒有明確命令和用戶權限的情況下觸摸(通過打開面板或類似)。

無論哪種方式,CWD是放錯物的錯誤地方。

您可能應該run a Save panel,然後將您的完成處理程序中的文件寫入the URL the Save panel has for you

如果你想藏匿在一些固定目錄中的文件,ask an NSFileManager forCaches folderthe user domain(〜/庫/高速緩存),然後告訴它創建該文件夾的名字是你的主束的bundleIdentifier,然後寫裏面的文件夾文件在該目錄中。

+0

寫入緩存工作!謝謝。 – 2013-04-09 08:48:18

相關問題