我最近下载了iOS 8以确保我现有的应用程序正常运行,但我在发布时在调试器中收到警告:
"CoreData: warning: Unable to load class named 'CDAccount' for entity 'CDAccount'.
Class not found, using default NSManagedObject instead."
经过一些研究,似乎人们在Swift中使用Core Data时遇到了类似的问题,但我的所有代码都在Objective-C中(并且数据模型至少在6个月内没有变化)。
非常感谢任何建议,一旦人们开始升级到iOS 8,我的应用程序无法正常运行,我真的很紧张!
答案 0 :(得分:18)
我在Objective-C和Xcode 6中遇到了完全相同的问题。出于某种原因,Xcode从我的编译源中删除了我的' CustomNSManagedObject' .m类。
转到您的项目目标 - >构建阶段 - >编译源并使用+按钮添加CDAccount.m
如果您使用Mogenerator创建_CDAccount.m文件,请将其添加到您的编译源。
答案 1 :(得分:8)
答案 2 :(得分:3)
这似乎是一个Xcode错误/问题。我正在使用Xcode 6.3.1
解决方案:您必须将PRODUCT_MODULE_NAME替换为您应用的名称。
如果对您的应用名称有疑问,请在“制作设置”下进行检查,过滤“&product.dmodule_name'”,然后在“&”下找到您的应用名称。 #39;包装'
答案 3 :(得分:3)
我的问题也很相似,但原因是没有设置实体模块。
答案 4 :(得分:1)
我的问题很相似,但列出的解决方案并不起作用,因为我的CD类存储在一个框架中。解决方案是将类名表示更改为" frameworkName.className"。但是,xcdatamodeld并不允许我将其更改为,所以我必须"显示内容"在文件上,打开"内容"在XCode中生成文件,并自行进行更改。