gpt4 book ai didi

ios - 无法在新开发机器上使用 nil 模型创建 NSPersistentStoreCoordinator

转载 作者:行者123 更新时间:2023-11-28 22:37:44 24 4
gpt4 key购买 nike

我刚刚设置了一台使用 Xcode 进行开发的新机器,当我打开、构建并运行一个现有的核心数据项目(它在我的旧机器上仍然运行良好)时,我收到“无法创建 NSPersistentStoreCoordinator一个零模型”错误。

我已经通读了 stackoverflow 上与此错误相关的无数问题,多亏了他们,我觉得我对 iOS 如何处理数据库对象模型有了更好的理解,据我所知,没有明显的错误.

我正在为我的托管对象模型使用标准初始化方法,即...

NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"project" withExtension:@"momd"];
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];

...在我的旧机器上返回一个不错的 NSManagedObjectModel,但在我的新机器上返回 nil。

正在编译的 bundle 确实包含一个 project.momd 文件夹,该文件夹又包含一个 project.mom 文件,它与我旧机器上的编译输出完全相同,但一个运行,一个不运行!非常令人沮丧!

我唯一能想到的是 Xcode 中有一些配置选项我没有在新机器上正确设置,但是非常感谢任何帮助或建议!

* 更新 *

我新机器上的包在 Project.momd 中包含一个 project.mom。在我的旧机器上,Project.mom 在 Project.momd 中,我猜模型名称是区分大小写的,所以我只需要破译为什么 xcode 以小写形式编译 mom...

在包内手动将 project.mom 重命名为 Project.mom 确实解决了这个问题,尽管是暂时的,直到项目被重新编译。

最佳答案

打开您的 xcdatamodeld“文件夹”(使用 Finder 中的“显示包内容”)查看 xcdatamodel 文件是否具有相同的大小写。理论上,xcdatamodeld 被编译为 momdxcdatamodel 被编译为 mom

请注意,iOS 文件系统区分大小写,而 OSX 不区分大小写(至少默认情况下如此),所以这可能就是您在不同机器上得到不同结果的原因。

关于ios - 无法在新开发机器上使用 nil 模型创建 NSPersistentStoreCoordinator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15430087/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com