複数の開発者がプロジェクトに取り組んでいる多くのコア データ移行を行ったアプリを持っていますが、ある時点で、コア データ モデルを適切に移行できなかったようです。最終的に、特定のバージョンのアプリから現在のバージョンのアプリにアップグレードしたユーザーは、コンテキストをストアに保存できなくなります (この保存は、アプリケーションがバックグラウンドに入ったときに発生します)。
ログに記録されたエラーは次のとおりです。
This NSPersistentStoreCoordinator has no persistent stores. It cannot perform a save operation.
幸いなことに、このクラッシュとエラーはアプリの終了時に発生し、アプリはローカルで不足しているデータを Web から取得するように設計されているため、ユーザーがこのクラッシュとエラーにあまり気付かない可能性が高いため、保存の失敗はそれほど重要ではありません。ユーザーが作成したデータが失われている場合です。もちろん、アプリの終了時にストアに保存されていないデータを再ダウンロードする必要があるため、これは理想的とは言えません。
最終的に私の質問は、この問題を今後どのように修正するかということです。
私の考えは、コア データ永続モデルを完全にリセットするマイナー アップデートをリリースすることです。古いデータ ストアを一掃し、新たに開始します (データはすべてサーバーから取得されることを思い出してください)。ユーザーのデータが失われることはなく、これにより今後の問題が解決されます。より良いアイデアはありますか?
また、そのように決めた場合、これを適切に行うにはどうすればよいでしょうか。バンドルを調べて .momd ファイルを削除し、別の名前で新しいファイルを再作成しますか? それとも削除は不要で、新しい名前を付けるだけで望ましい結果が得られますか?