前置き
CoreDataでデータモデルを作成し、シミュレータや実機で検証を行った後に、データモデルを変更してアプリをアップデートするとエラーが発生するので、変更した際には一度アプリをアンインストールして新規インストールしなくてはいけなくなってしまう。
既にリリース済みで新しいバージョンにアップデートしたい場合や、テストで入れたものも消さずにそのまま更新したい場合は、migrationを利用してモデルを変更し、アプリのバージョンアップを行えばよい。
前提
- Xcode8を使用
- CoreDataを使用したプロジェクトが作成されていること
マイグレーションの設定方法
既に作成済みのCoreDataのデータモデル .xcdatamodeld
ファイルを選択し、メニュー > Editor > Add Model Version... を選択し、バージョン2のモデルファイルを作成する
追加するとデータモデルがツリー状態になるので、バージョン2を選択して、モデルの変更を行う
メニュー > Editor > Create NSManagedObject Subclass... でエンティティークラスを作成する際にバージョンの選択ができるでバージョン2にチェックをつけてクラスを再生成する
データモデルのバージョン1になっているので、バージョン2を選択する(画面右端を参照)
以上