我在gcode 8.1中使用git并在Objective-C中使用几个分支上的Core Data,每个分支都继承自创建MyProject.xcdatamodeld
的公共主分支。
运行测试时我收到的错误是caught "NSInternalConsistencyException", "+entityForName: could not locate an entity named 'MyManagedObject' in this model."
,这在调用-[NSEntityDescription insertNewObjectForEntityForName:inManagedObjectContext:]
时出现,而MyManagedObject是NSManagedObject的简单子类。
在分支之间切换后出现此错误,尽管看起来不一致,因为有时我的测试运行没有错误。我确保了我的managed object context is not nil并尝试清理我的项目,清理我的构建文件夹以及删除Derived Data文件夹,但没有成功。我记得在构建之间从模拟器中删除了应用程序(因为每个分支使用不同的Core Data模型),并且我已经检查了所有拼写并且没有发现任何拼写错误。
请让我知道我可以提供哪些其他信息来帮助调试!
答案 0 :(得分:0)
所以这是我奇怪的解决方案:
.xcdatamodeld
添加到Compile Phases。.xcdatamodeld
。我不知道为什么会这样,特别是因为.xcodeproj/project.pbxproj
文件似乎没有任何变化。