109

Is this the case? Do NSUserDefaults get reset when you submit an update to an app on the App Store, or are they reset?

My app is crashing when updated but not crashing when downloaded fully - so I'm trying to determine what could possibly be different in the updated session to the freshly downloaded session.

Cheers, Nick.

4

6 に答える 6

120

They are usually not reset unless the user deletes the app. For basic data, NSUserDefaults is the best way to save data such as preferences, dates, strings etc. If you are looking to save images and files, the file system is a better bet.

于 2009-10-28T17:23:10.817 に答える
8

答えはイエスだと思います。それは持続します。これは、Apple iPhone OS プログラミング ガイドのアプリケーション ディレクトリの章にも完全に記載されています。

于 2009-11-15T18:12:39.357 に答える
4
  1. 投稿された質問に対する直接の回答: はい。
  2. あなたの問題: ロジックの問題が原因でアプリがクラッシュします。オブジェクトをデフォルトに保存し、アプリが起動時 (または別の場所) にその値をチェックするとします。更新時に、チェックまたは使用する方法を変更できます。たとえば、値を期待しているのにオブジェクトが nil である、またはその逆の場合です。これにより、SIGABRT または EXC_BAD_ACCESS が発生する可能性があります。
于 2012-07-10T06:53:43.057 に答える
2

CoreData モデルがあり、移行を管理せずにモデルと更新で何かを変更した場合、それがおそらく更新時にアプリがクラッシュする理由です...

于 2012-07-23T09:12:02.760 に答える
1

私も似たような経験があります。私たちのアプリはバージョン番号を Settings.Bundle/Root.Plist に保存します。これは、iPhone 設定アプリを通じて表示されます。私たちが見つけたのは、インストール時にバージョン番号がアプリ バンドルから読み込まれることです。したがって、バージョン番号は正しいです。ただし、更新時にバージョン番号は変更されません。これにより、ユーザーが以前のバージョンのアプリを実行しているという印象を与えます。バージョン番号にリンクされたロジックはありません。表示用です (コンタクト センターのスタッフが障害を診断するときに使用できます)。

私たちの経験では、ユーザーがアプリを更新しても NSUserDefaults はクリアされませんが、設定の表示も更新されません。

于 2013-03-26T21:10:04.270 に答える