我正在尝试制作应用的“QA”版本。它在prod版本的iPhone上正常运行。但是,在复制构建之后,与prod版本相同的完全相同的代码在以下异常中失败:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Cannot create an NSPersistentStoreCoordinator with a nil model'
以下是有问题的代码:
- (NSManagedObjectModel *)managedObjectModel {
if (managedObjectModel != nil) {
return managedObjectModel;
}
NSURL *modelURL;
if ([defaultPlistName isEqualToString:@"DefaultConfig"])
{
modelURL = [[NSBundle mainBundle] URLForResource:@"TabBarTest" withExtension:@"mom"];
}
else
{
modelURL = [[NSBundle mainBundle] URLForResource:databaseName withExtension:@"momd"];
}
NSLog(@"%@",databaseName);
NSLog(@"%@", [modelURL absoluteString]);
managedObjectModel = [[NSManagedObjectModel alloc]initWithContentsOfURL:modelURL];
return managedObjectModel;
}
此代码在同一个数据库中,但由于某种原因,它没有在QA版本中找到它。我已经检查了很多关于SO的解决方案,但我并没有真正得到任何结果。请注意,它始终是“DefaultConfig”,因此它总是尝试加载“TabBarTest”数据库。不知何故,似乎它在prod的包中找到它,而不是QA包。有什么我应该做的事情以某种方式初始化它?