objective-c - IOS开发了一个新应用,使用相同Bundle ID替换了旧应用,想延用旧的coredata数据,无法找到momd
为情所困
为情所困 2017-05-02 09:37:47
0
2
704

客户原本有一个上线的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;
}
为情所困
为情所困

membalas semua(2)
Ty80

Saya juga menghadapi masalah ini sekarang Masalahnya berlaku selepas saya mengimport sesuatu menggunakan cocoapods.
Fail .momd tidak lagi dijana dalam fail .app, jadi NSManagedObjectModel tidak boleh dimulakan sekarang, saya hanya boleh mengimport xcdatamodeld dalam fasa binaan->saya menjana fail model pada asalnya sistem itu masih mempunyai kegunaannya, tetapi jika kita tidak dapat mencari sebabnya, kita perlu melakukan ini

phpcn_u1582

Hahaha, sudah disusun, terima kasih banyak

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan