爲什麼在設備上運行時沒法保存數據到應用bundle中

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

設備和模擬器之間的不一樣致使其出現不一樣的行爲。在模擬器中,應用是保存在本地中的,你有徹底的讀寫權限,因此代碼是能夠讀寫bundle中的設置數據。可是,在設備中,應用bundle是沒法修改的。File System Programming Guide 有對應用目錄中可寫位置進行了說明。html

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

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

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

相關文章
相關標籤/搜索