我刚刚设置了一台使用 Xcode 进行开发的新机器,当我打开、构建和运行现有的核心数据项目(它仍然在我的旧机器上完美运行)时,我收到“无法使用 nil 模型创建 NSPersistentStoreCoordinator “ 错误。
我已经阅读了有关此错误的无数关于 stackoverflow 的问题,感谢他们,我对 iOS 如何处理数据库对象模型有了更好的理解,据我所知,没有什么明显的问题。
我正在为我的托管对象模型使用标准初始化方法,即...
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"project" withExtension:@"momd"];
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
...在我的旧机器上返回一个不错的 NSManagedObjectModel,但在我的新机器上返回 nil。
正在编译的包确实包含一个 project.momd 文件夹,该文件夹又包含一个 project.mom 文件,它与我的旧机器上的编译输出完全相同,但一个运行而一个不运行!非常令人沮丧!
我唯一能想到的是 Xcode 中有一些配置选项我没有在新机器上正确设置,但任何帮助或建议将不胜感激!
* 更新 *
我的新机器上的包在 Project.momd 中包含一个 project.mom。在我的旧机器上,Project.mom 在 Project.momd 内部,我猜模型名称是区分大小写的,所以我只需要破译为什么 xcode 以小写形式编译 mom...
在包中手动将 project.mom 重命名为 Project.mom 确实可以解决问题,尽管在重新编译项目之前是暂时的。