9

http://www.timisted.net/blog/archive/core-data-migration/にあるガイドに従いました が、新しいモデルでアプリを起動すると、「移行用のマッピングモデルが見つかりません」というメッセージが表示され続けます。 。xcode3とxcode4で何度も試しましたが、動作させることができません。

現在、私のオプションは次のように設定されています。

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
    [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
    [NSNumber numberWithBool:NO], NSInferMappingModelAutomaticallyOption,
    nil];

以前に推論オプションにYESを設定していましたが、移行する必要のあるカスタムポリシーを呼び出さずに移行していました。これは、以前にもマッピングモデルが見つからなかったためだと思います。

マッピングモデルが取得されない理由は何ですか?以前のモデルをSVNバージョンと照合して、変更が加えられていないことを再確認しました。

ありがとう。

4

4 に答える 4

8

マッピングモデルは.xcdatamodeldパッケージの一部である必要があることがわかりました。これは、xcode 4内では実行できません。そこにあると、うまく機能します。

注:マッピングファイルが再び機能しなくなり、ディスク上で0KBであることがわかったため、再度作成する必要があり、その後は正常に機能しました。私はすぐにそれをコミットし、それが再び消えるかどうかを確認します。問題は、Xcode 4がそれか何かにインデックスを付けるので、xcodeでは問題なく見えますが、ファイルシステムでは空です。

理由については、以下の私のコメントを参照してください(xcode 4のmapc(マップコンパイラ)が壊れています)。

**これは新しいXCODE/SDKで修正されました。**

于 2011-03-21T18:09:01.090 に答える
4

私も同様の問題を抱えていました:

xcmappingmodelのカスタムポリシーは実行されません

私の場合、移行によってテーブルが変更されなかったため、実行されませんでした。これも問題である可能性があります。

于 2011-06-27T12:33:35.377 に答える
2

ソースデータモデルを古いバージョンとして設定し、宛先を新しいバージョンとして設定してください...これらが逆方向である場合、上記のエラーが発生しました。

于 2011-05-06T22:40:56.027 に答える
0

現在のバージョンを変更するのではなく、スキーマの新しいバージョンを作成する必要があります。これを行ったとすると、モデルにどのような変更が加えられましたか?一部の変更は大幅であるため、確実に推測することはできません。

于 2011-03-20T22:03:51.617 に答える