CoreData モデルを更新するとアプリがクラッシュするため、古いアプリを削除してから再インストールする必要があります。それは問題ありませんが、私の質問は次のとおりです。再インストールする前にアプリを削除する必要があることを顧客にどのように伝えることができますか? これは複雑すぎるようです...モデルに1つの追加フィールドを追加するだけです。
これに対処するより良い方法はありますか?
ありがとう
CoreData モデルを更新するとアプリがクラッシュするため、古いアプリを削除してから再インストールする必要があります。それは問題ありませんが、私の質問は次のとおりです。再インストールする前にアプリを削除する必要があることを顧客にどのように伝えることができますか? これは複雑すぎるようです...モデルに1つの追加フィールドを追加するだけです。
これに対処するより良い方法はありますか?
ありがとう
データベースの移行をセットアップする必要があります... 更新時に顧客の既存のデータを最新のデータ モデルにアップグレードするには。一部の変更については、Core Data が代わりに行うことができます。それ以外の場合は、移行コードを自分で作成する必要があります。
おそらくここから始めてください: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreDataVersioning/Articles/Introduction.html
@Nielsbot が言ったように、Core Data が使用する移行システムがあります。
モデルの新しいバージョンを作成し、使用するバージョンを選択できます。AppDelegate メソッドには、永続ストア コーディネーターがモデルをロードしてバージョンをロードするように指示するコードを少し変更する必要があります。これを実装する方法については、Apple のドキュメント ( https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreDataVersioning/Articles/Introduction.html ) をお読みになることをお勧めします。
テーブルに 1 つのフィールドを追加するだけの場合は、新しいバージョンのデータベースを作成できます。現在のものを変更しないでください。
メニューの 1 つに、新しいデータ バージョンの作成などがあります。
新しいバージョンで変更を加えます。
これを行う方法については、多数のチュートリアルがあります。
アプリをクラッシュさせるアップデートをリリースすると、アップルはそれを承認しないので、とにかくこれを行う必要があります.