2011-06-27 12 views
2

コアデータモデル(iOS)に属性を追加しました。私は、バージョン2にあったので、私は新しいモデルを追加し、新しい属性を保存したバージョンの下3コアデータの移行に失敗するリリースビルドのみ

マイロードするコードが標準です(私のバンドル内の私の.momdディレクトリでinitWithContentsOfURL:ポインティングを使用してMOMを初期化)、そのMOMを渡しますNSPersistentStoreCoordinatorに変更してください。

次に、App Storeから自分のアプリケーションをダウンロードして実行してから、移行をテストします。私のSimulatorと私の電話(デバッグ(Xcode 4に束縛されている))で、軽量マイグレーションが正常に機能しています。

Error Domain=NSCocoaErrorDomain Code=134130 "The operation couldn’t be completed. 
(Cocoa error 134130.)", reason=Can't find model for source store} 

さらに悪いことには、ストアが失われる:私はiTunesを使って(Xcodeの上の「アーカイブ」機能を使用して)リリースビルドを同期するとき

しかし、私のアプリのデータストアは、このエラーで移行に失敗します私がデバイスを再テザリングし、XcodeからDebugビルドをインストールすると、私は移行を "回復"できません。

上記のエラーメッセージは、自分のエンティティに関する詳細を省略しています。私は役に立つと思うが、ここで何が間違っているのかについてのアイデアは何か?私はこのエラーコードについてはまったくのすべての質問を読んできましたが、今のところすべてが結果を生み出すことができませんでした。

私は手動で移行を試みましたが、エラーも発生しました。しかし、1つのエンティティに1つの属性しか追加していないため、軽量な移行が機能していないという意味はありません。

答えて

2

私のコードや他の人の誰かがこの問題を遭遇するたびに、アプリケーションに配備されているモデルバージョンに関して、XCodeが何らかの悪い状態に陥っています。あなたのアプリのRelease IPAアーカイブを開き、ファイルが何であるかを調べてください。mom以前のバージョンのいずれかが見つからない場合、これはおそらくこの同じ問題です。解決策として、私は結果が混在しています。以下のステップのいくつかのバリエーションが私にとっては効果的ですが、決して一貫した順序ではありません。

  • クリーン&を追加したり、(Xcodeで)以前のモデルバージョンのファイルの名前を変更し
  • (あなたが必要な場合は、symbolicateことができるように保存したリリースのアプリのアーカイブを持っていることを確認してください)プロジェクトのために得られたデータを削除バージョン番号を表す数字とスペースの間のスペースを削除します(空白がある場合は '_'で置き換えてください)。
  • モデルの新しいバージョンを追加します。そのコンテンツを変更して、現在のバージョンにします。

私はこれらのステップがストローで握るように思えることを知っています。これはまさに私に起こるときのような感じです。 Appleでサポートインシデントの1つを使用することを検討するかもしれませんが、この問題に対する正式な回答が何であるかを知ることはうれしいでしょう。

+0

ライアン、答えに感謝します。私はあなたの提案に基づいてそれを理解することになった - アプリケーションのアーカイブを開き、それに含まれているMOMファイルを調べる。それは正しいことではないことを私に知らせました! – makdad

関連する問題