3

Core Data を使用してデータを永続化するアプリの更新を開発しています。マジカルレコードを使ってコアデータを扱いやすくしている。

この更新には、データ モデルへの変更は含まれていません。

しかし、デバイスに新しい更新プログラムをインストールすると、既存のデータが削除され、アプリが空のデータ ストアで開きます。ログに記録されたデータ移行の問題に関する警告やエラー メッセージはありません。アプリもクラッシュせず、Core Data スタックがセットアップされる前に shouldDeleteStoreOnModelMismatch が NO に設定されます ( [MagicalRecord setShouldDeleteStoreOnModelMismatch:NO];)。

その後の Core Data の問題はありません (新しいデータは正常に保持されます)。

このアップデートでアプリに加えられた主な変更点は次のとおりです。

  • アプリを ARC に変換しました
  • 外部ライブラリに CocoaPods を使用するようにアプリを変換しました
  • MagicalRecord ライブラリを v1.8.3 から v2.1 に更新しました

私の App Delegate では、以下を使用して Core Data スタックをセットアップしました。

[MagicalRecord setupAutoMigratingCoreDataStack];

誰がこれを引き起こしているのか考えていますか?

4

2 に答える 2

2

ストアを削除した後、ストアを新しいストアに自動的に置き換えることを指定する必要があります。

[MagicalRecord shouldAutoCreateDefaultPersistentStoreCoordinator]; [MagicalRecord setShouldDeleteStoreOnModelMismatch:YES]; [MagicalRecord setupAutoMigratingCoreDataStack];

于 2014-04-01T12:38:50.767 に答える