0

すでにappstoreにあるアプリにplistがあります。ユーザーはそのplistで保存/変更を行うことができます。これは、appsDocumentsフォルダーに保存されます。

ユーザーが新しいバージョンに更新した場合、このplistは残りますか、それともデフォルトに戻りますか(アプリバンドルで送信されるもの)?

前もって感謝します。

4

2 に答える 2

2

ドキュメント内のユーザーが更新したplistは安全である必要があります。アプリバンドル内のデータ(リソースパスなど)は上書きされますが、ユーザーのドキュメントフォルダーとライブラリフォルダー内のデータは上書きされません。これが、アプリを更新しても、ドキュメントと設定をそのままにしておくことができる理由です。

(たとえば)パスをハードコーディングするのではなく、標準のiOS呼び出しを使用してドキュメントのフォルダーへのパスを取得することが重要であることに注意してください。

参照:

iphone:アプリの更新に対してユーザーデータを保持する

バージョンアップグレード時のアプリデータの損失

于 2013-01-14T04:00:49.890 に答える
1

アプリをどのようにコーディングしたかによって異なります...ただし、現在plistがない場合にのみ、plistをバンドルにロードするようにアプリが設定されている場合は、上書きしないでください。

今日アップデートが出ましたが、plistデータはまだそこにありました...

これは、ユーザーがアプリを最初に起動したときに、リソースフォルダーからバンドルにplistをコピーする方法です:(*ユーザーがアプリを削除してから更新をダウンロードすると、データは失われます)

if (![fileManager fileExistsAtPath: path]) {
    NSString *bundle = [[NSBundle mainBundle] pathForResource:@"YourPLIST" ofType:@"plist"];

    [fileManager copyItemAtPath:bundle toPath: path error:&error];
}
于 2013-01-14T04:01:23.023 に答える