爲何在設備上運行時無法保存數據到應用bundle中

應用保存數據倒應用bundle中,這在模擬器中是可以的,但是在設備真機中是不行的。

設備和模擬器之間的不同導致其出現不同的行爲。在模擬器中,應用是保存在本地中的,你有完全的讀寫權限,所以代碼是可以讀寫bundle中的設置數據。但是,在設備中,應用bundle是無法修改的。File System Programming Guide 有對應用目錄中可寫位置進行了說明。

應用的home目錄包含了一個preferences (<Application_Home>/Library/Preferences)的子目錄。但是你不應直接創建該目錄,而是使用NSUserDefaultsCFPreferences進行獲取和設置。

另外,可以將應用的特殊數據保存在<Application_Home>/Documents 中。使用NSFileManager URLsForDirectory:inDomains: 來獲取該目錄路徑。

上面這兩種方法還有一個好處是當應用升級時,數據會保持不變,不會丟失。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章