私は約1年半前に私が戻ってくるアプリを作った。私がSwiftの歯を切ったのはプロジェクトでした。それ以来、言語とSwift能力の両方で多くのことが明らかに変わりました。ユーザーをアップグレードするためのCoreDataクラッシュを防止する
昨日初めて、単一のCoreDataモデルを更新して、オプションの文字列属性を追加しました。私はファイル生成ビットを行い、新しいデータモデルが適切に選択されたインスペクタの列を確認しました。
私のシミュレータとテストデバイスでは、新しいバージョンをインストールするために古いバージョンのアプリケーションを削除する必要があります。クラッシュすることがあります。私は、それが開発環境プロセスの一部だと考えています。 App Storeからの簡単なアップデートを行うときに、アップグレードしたユーザーを削除して再インストールする必要がないようにするにはどうすればよいですか?私は、Xcode/CoreData/Appleがこれを内部のスクリプトやユーザーが見えないプロセスで処理していると仮定しています。しかし、ここでは、ユーザーのためにv1からv1.1へのスムーズな移行を確実にするために必要なことが何かあるかどうかを理解するために、この記事を投稿したかったのです。
私が言いましたように、私がしたのはオプションの文字列でした。新しいフィールドがnil
である既存のすべてのユーザーデータが新しいスキーマに移行されると仮定します。
ここでのご意見は大歓迎です。ありがとう!
古いバージョンから新しいバージョンへの移行方法をいくつか選択できますが、ここで少し読んでみることをお勧めします:https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreDataVersioning/Articles/vmLightweightMigration.html –
ありがとうございました –
そのクラッシュは開発プロセスの一部ではありません。リリース前に修正する必要があります。 –