設備和模擬器之間的不一樣致使其出現不一樣的行爲。在模擬器中,應用是保存在本地中的,你有徹底的讀寫權限,因此代碼是能夠讀寫bundle中的設置數據。可是,在設備中,應用bundle是沒法修改的。File System Programming Guide 有對應用目錄中可寫位置進行了說明。html
應用的home目錄包含了一個preferences (<Application_Home>/Library/Preferences
)的子目錄。可是你不該直接建立該目錄,而是使用NSUserDefaults 或CFPreferences進行獲取和設置。ios
另外,能夠將應用的特殊數據保存在<Application_Home>/Documents
中。使用NSFileManager
URLsForDirectory:inDomains:
來獲取該目錄路徑。app
上面這兩種方法還有一個好處是當應用升級時,數據會保持不變,不會丟失。iphone