2014-10-28 42 views
1

我有一個應用程序,可以在iOS 7中保存文件而不會出現問題,我可以在iPad上找到它們。 路徑是:/ var/mobile/Applications /「UDID」/ Documents iOS 8中的相同應用程序無法保存文件和/或在保存在某處時發現它們。它會嘗試將其保存到/ private/var/Containers/Bundles/Application /「UDID」/ Documents ,但它會嘗試從/ private/var/Containers/Bundles/Application /「UDID」 和I我無法將目錄切換到/ private/var/Containers/Bundles/Application /「UDID」/ Documents以查找該文件。 任何見解?什麼是在iOS應用程序中保存文件的默認文件夾8

+0

日誌的路徑在您的應用程序,讓你知道的實際位置。 – rmaddy 2014-10-28 17:23:21

回答

3

你應該閱讀TN2406: Changes to App Containers in iOS 8,它告訴我們以下(強調):

iOS 8的變化用於 存儲用戶和應用程序數據的標準目錄的位置(例如,文檔,圖書館)。雖然這些目錄的 位置始終是實現 的詳細信息,但某些應用程序錯誤地認爲Documents目錄和 庫目錄與應用程序的 包位於同一目錄中。 iOS 8將應用程序的數據從應用程序 中分離出來。 嘗試導出文檔或 庫目錄路徑的代碼將在iOS 8上返回無效路徑。嘗試訪問此路徑的 將失敗,並且可能會終止您的應用程序。

這也解釋瞭如何使用的NSFileManager獲取文件目錄的位置,基本上是這樣的:

NSURL *documentsDirectoryURL = [[[NSFileManager defaultManager] 
           URLsForDirectory:NSDocumentDirectory 
           inDomains:NSUserDomainMask] 
           lastObject]; 
+0

那麼,保存文件的默認文件夾是什麼? – 2015-02-05 17:54:40

+0

@publicENEMY沒有「默認」目錄 - 你應該指定你想要保存文件的位置。通常,您應該使用Documents或Caches目錄來存儲應用程序數據,具體取決於您是否希望保留它,但這取決於您。這裏的要點是,你應該問系統的路徑,而不是試圖自己構建它。 – Caleb 2015-02-05 19:15:49

相關問題