CoreData を使うアプリであればこの程度の件数はすぐに行くので、起動時にマイグレーションが走ると確実に落ちてしまう。これを防ぐためには起動時に CoreData へアクセスさせないのが最低限の対策になるが、その場合でもユーザが CoreData へアクセスする操作を行った瞬間にマイグレーション処理に時間がかかって画面が固まったようになるのでユーザビリティは良くない。 マイグレーションを考慮したパターン よって CoreDataを使うアプリではマイグレーション用の画面を用意するのがベスト。処理フローはこんな感じ。 起動 ↓ (1)マイグレーションチェック もし必要なら、マイグレーション用の画面へ遷移し、(2)マイグレーション実行 ↓ 通常画面マイグレーションチェックは NSPersistentCoordinator を使えばわかる。 Cocoaの日々: [iOS][Mac] CoreD
![Cocoaの日々: CoreData - マイグレーションを考慮した CoreDataManager パターン](https://cdn-ak-scissors.b.st-hatena.com/image/square/35dc186d9bc2d618466a62c163723e97ccdb6b11/height=288;version=1;width=512/http%3A%2F%2F4.bp.blogspot.com%2F-dEVHeEu9nU4%2FTWgiijtJhEI%2FAAAAAAAAGHM%2F6FGrdrkGEwo%2Fs1600%2F110226-0009-77%252525.png)