recherche

Maison  >  Questions et réponses  >  le corps du texte

objective-c - IOS开发了一个新应用,使用相同Bundle ID替换了旧应用,想延用旧的coredata数据,无法找到momd

客户原本有一个上线的app,因为不满意于是找我们重新开发了一个。
现在开发基本完成了,客户提了一个新要求要延续旧App中的coredata数据。
于是使用了与旧APP相同的Bundle ID与Bundle Name,拷贝了.xcdatamodeld文件到bundle请输入代码,用了一样的coredata代码,但是在managedObjectModel中无法获取momd的url。查看了一下bundle包内容,老的app中
xcdatamodeld编译成了一堆momd文件夹,文件夹中有一堆mod文件。而新的app中xcdatamodeld没有编译,请问大神为什么这个文件夹会不存在?

- (NSManagedObjectModel *)managedObjectModel{
  if (_managedObjectModel != nil) {
    return _managedObjectModel;
  }
  NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"AirBoxModel" withExtension:@"momd"];
  NSLog(@"modelURL is %@", modelURL);//显示nil
  NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"AirBoxModel.sqlite"];
  NSLog(@"storeURL is %@",storeURL);
  _managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
  return _managedObjectModel;
}
为情所困为情所困2758 Il y a quelques jours705

répondre à tous(2)je répondrai

  • PHP中文网

    PHP中文网2017-05-02 09:39:47

    Je rencontre également ce problème maintenant. Le problème est survenu après avoir importé quelque chose à l'aide de cocoapodes.
    Le fichier .momd n'est plus généré dans le fichier .app, donc NSManagedObjectModel ne peut pas être initialisé. Il n'est plus possible d'importer xcdatamodeld uniquement dans les phases de construction ->compiler les sources par lesquelles j'ai initialement généré le fichier modèle. le système. Il a encore son utilité, mais si on ne trouve pas la raison, il faut le faire

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-02 09:39:47

    Hahaha, c'est compilé, merci beaucoup

    répondre
    0
  • Annulerrépondre