LoginSignup
10
10

More than 5 years have passed since last update.

Xcode8でCoreDataのmigrationを行う

Last updated at Posted at 2017-02-28

前置き

CoreDataでデータモデルを作成し、シミュレータや実機で検証を行った後に、データモデルを変更してアプリをアップデートするとエラーが発生するので、変更した際には一度アプリをアンインストールして新規インストールしなくてはいけなくなってしまう。
既にリリース済みで新しいバージョンにアップデートしたい場合や、テストで入れたものも消さずにそのまま更新したい場合は、migrationを利用してモデルを変更し、アプリのバージョンアップを行えばよい。

前提

  • Xcode8を使用
  • CoreDataを使用したプロジェクトが作成されていること

マイグレーションの設定方法

既に作成済みのCoreDataのデータモデル .xcdatamodeld ファイルを選択し、メニュー > Editor > Add Model Version... を選択し、バージョン2のモデルファイルを作成する
image

追加するとデータモデルがツリー状態になるので、バージョン2を選択して、モデルの変更を行う
image
image

メニュー > Editor > Create NSManagedObject Subclass... でエンティティークラスを作成する際にバージョンの選択ができるでバージョン2にチェックをつけてクラスを再生成する
image

データモデルのバージョン1になっているので、バージョン2を選択する(画面右端を参照)
image

以上

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10