私は、非常に単純なデータをコアデータとiPhone用のコンパニオンモバイルアプリをSQLiteに保存するデスクトップMac OS X Appを開発しています。デスクトップアプリケーションからデータを読み込むだけです。モバイルアプリでSQLiteデータベースを読み込むと、同じ管理オブジェクトモデルを共有しますが、データの移行には数秒かかります。 SQLiteファイルのサイズに比例して表示されるので、この長い待ち時間を避けたいと思っています。コアデータの移行は本当に遅いですが、なぜそれはまったく起こりますか?
同じマネージドオブジェクトモデルのデータがまったく移行する必要があるのはなぜですか?
マイグレーションを回避する方法を知っている人はいますか?
どのように移行されているのですか?ダイアログが表示されますか? 明示的に有効にしない限り、移行は行われません(「コアデータのバージョン管理と移行ガイド」を参照)。 モデルが変更されていない場合は、移行する必要はありませんので、何か他のことが起こっている可能性があります。 – Hunter
良い質問です。それ以外の場合はストアをロードしないため、有効にしています。私はSharkを使って長いロードタイムをプロファイリングしているので、移行しているとはかなり確信しています。 – tmh