iphone ios - NSUserDefaults是否通過Appstore中的應用程序的更新持續?




3 Answers

除非用戶刪除應用程序,否則通常不會重置它們。 對於基本數據,NSUserDefaults是保存數據(如偏好,日期,字符串等)的最佳方式。如果您希望保存圖像和文件,則文件系統是更好的選擇。

swift standard

是這樣嗎? 當您向App Store上的應用程序提交更新時,NSUserDefaults會重置嗎?還是重置?

我的應用程序在更新時會崩潰,但完全下載時不會崩潰 - 所以我試圖確定在更新的會話中新鮮下載的會話中可能會有所不同。

乾杯,尼克。




  1. 直接回復發布的問題:是。
  2. 您的問題:由於邏輯問題,您的應用程序崩潰。 假設你存儲了一個默認的對象,並且應用程序在啟動時(或其他地方)檢查它的值。 在你更新的時候,你可以改變它被檢查或使用的方式,例如你期望一個值,但是對像是零,反之亦然。 這可能會導致SIGABRT或EXC_BAD_ACCESS。



我有類似的經歷。 我們的應用程序在Settings.Bundle / Root.Plist中存儲版本號。 這通過iPhone設置應用程序顯示。 我們發現,在安裝版本號從應用程序包中加載 - 因此版本號是正確的。 但是,在更新中,版本號不會更改。 這給用戶以前運行該應用程序版本的印象。 我們沒有任何與版本號相關的邏輯,只是用於顯示(診斷故障時可由聯絡中心人員使用)。

我們的經驗是,當用戶更新我們的應用程序時,NSUserDefaults不會被清除,但設置顯示也不會被更新。




Related