まあ、これは恥ずかしいです。昨夜遅くまで開発はスムーズでした。私は最近、XCode を 4.3.2 にアップグレードしました (iPhone は文句を言っていました)。いくつかの新機能の実装とテストを楽しんでいます。時々コンパイルしています。最終的な実行のために、デバイスからアプリを削除し、Apple に提出する前にプロセス全体を見てみましょう。
それからそれは起こりました。突然、アプリケーションがコンパイルされて、managedObjectModel が nil であると不平を言う壁が表示されます。コアデータに関してコードを変更していないため、問題が何であるかについて少しも手がかりがないという結論に達しました。
XCode へのアップグレードによって CoreData バージョンの移行が中断された可能性はありますか? 私はそれについて何ができますか?
- (NSManagedObjectModel *)managedObjectModel
{
if (__managedObjectModel != nil)
{
return __managedObjectModel;
}
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"userinfo" withExtension:@"momd"];
NSLog(@"Model URL %@" , modelURL);
__managedObjectModel =[[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL] ;
NSLog(@"Model Entities %@" , [__managedObjectModel entities]);
return __managedObjectModel;
}
上記のコードの出力は次のとおりです。 ご覧のとおり、managedObjectModel は割り当てられていません。どうすればいいの ?ちょうど前日は完全に機能していました。
機種URLファイル://localhost/var/mobile/Applications/[ID情報]/[アプリ名].app/userinfo.momd/
2012-04-06 07:39:50.375 [アプリ名][861:707] モデル エンティティ (null)