0

現在、Core Data を使用するアプリの v1.1 が App Store にあります。

今後のリリースに向けて既存のエンティティにいくつかの属性を追加することで、Core Data スキーマに簡単な変更を加えています。私の素朴さのために、リリース バージョンから既存の Core Data マネージ オブジェクト モデルに前述の変更を加えました。

軽量移行に関するこのガイドを読んでいるときに、これに出くわしました。

したがって、リリースされたバージョンのアプリのマネージド オブジェクト モデルを決して変更しないことが絶対に不可欠です。つまり、アプリが既に App Store にある場合は、そのバージョンのマネージド オブジェクト モデルで何も変更しないでください。

これは、次期バージョンの作業中に私が行っていたことだったので、明らかに気になりました。私は Git を使用しており、一貫してコミットしています。これらの Git リビジョンから変更されていないマネージド オブジェクト モデルを復元する最も簡単な方法は何でしょうか (Git のリビジョンにそれが含まれていると仮定します)。

更新/編集- ほとんどのデータは再ダウンロードできるため、現在のユーザーのコア データ ストアを移行することは重要ではなく、よりスムーズなエクスペリエンスを作成するためにコア データを使用しています。現在変更されている Core Data マネージド オブジェクト モデルを使用するだけで問題やクラッシュが発生しますか?

4

2 に答える 2

1

コミット履歴git logを検索し、一方通行で、ロールバックするポイントを見つける必要があります。必要なコミットのコミット ハッシュに注意してください。

git checkout commit-hash path/to/file

完全な説明については、このSOの回答を参照してください。

于 2013-02-20T19:59:21.323 に答える
1

あなたがリリースしたモデルを含むリビジョンを Git からチェックアウトするだけです。次に、そのモデルを取得して、現在のリビジョンにコピーします。その時点で、新しいモデル バージョンを作成して、思い通りに作業を進めることができます。

そのすべてを台無しにしたくない場合は、まったく新しいモデルを作成し、その新しいモデルを使用するようにアプリを定義するだけで、すべてをその新しいモデルと新しい永続ストアに再ダウンロードする必要があります。また、このルートに行った場合、デバイスから古いモデルと永続ストア ファイルを削除するためのコードも記述します。

最初のルートはそれほど面倒ではないと思います。

于 2013-02-20T20:01:02.970 に答える