在我的可可应用程序中使用核心数据框架时,我创建了一些实体并使用NSEntityDescription创建了引用。当我运行应用程序时出现错误,指出“用于打开持久存储的托管对象模型版本与用于创建持久存储的版本不兼容。”使用核心数据的问题
0
A
回答
2
您需要从设备/模拟器中删除应用程序,然后重新构建并运行。
每次更改模型时都会发生这种情况,因为旧数据存储将保留在应用程序文档文件夹中,而访问它的类已被更改。
在开发的后期阶段,您会希望引入商店迁移,您的测试人员和用户在每次发布新版本时都不必删除他们的数据。如果您的模型保持静态,则在将来的更新中不需要迁移数据。
您可能需要查看Core Data Migration Programming Guide了解更多信息。
0
您必须从删除持久性存储文件:(根据您的Xcode版本)
~/Library/$AppName
~/Library/Application Support/$AppName
0
答案是有点棘手但这总是对我有用。这是一个干净安装一个新的兼容.sqlite文件,不是迁移!
启动模拟器,删除应用程序和数据(删除应用程序后弹出)。
退出模拟器
打开X-代码,进行任何编辑您的数据模型后
删除{*appname*}.sqlite
文件(或备份它,从项目文件夹中删除,并删除参考)
清洁应用(Product > Clean
)
在模拟器中运行应用程序(本教程中我将承担4.2)
当模拟器运行时,在Finder窗口,导航到: {*home*} > Library > Application Support > iPhone Simulator > 4.2 > Applications > {*random identifier*} > Documents > {*appname*}.sqlite
复制这个文件到另一个位置
停止运行在您的应用程序X-代码
拖放{ appname} .sqlite文件放入X代码中的文件列表中。
在弹出的对话框中,确保选中copy to folder
复选框。
Product > Clean
然后在模拟器上再次运行应用程序
现在你应该有一个工作sqlite的文件!
干杯, 罗伯特
相关问题
- 1. iPhone - 核心数据问题?
- 2. 核心数据问题
- 3. iPhone核心数据问题
- 4. 核心数据问题
- 5. 核心数据:“insertNewObjectForEntityForName”问题
- 6. 核心数据NSFetchRequest问题
- 7. iPhone - 核心数据问题?
- 8. 核心数据 - NSFetchRequest问题
- 9. 核心数据问题Swift
- 10. 核心数据问题 - EXC_BAD_ACCESS
- 11. 核心数据问题
- 12. 核心数据问题
- 13. 使用不同模拟器使用核心数据的问题
- 14. 关于iCloud +核心数据的问题
- 15. UIWebView和核心数据的问题
- 16. 目标C,核心数据的问题
- 17. 搜索核心数据的NSDate问题
- 18. iPhone核心数据的问题
- 19. 核心数据幼稚的问题
- 20. 核心情节的数据源 - 问题
- 21. 核心数据日期的问题
- 22. 核心数据删除的问题
- 23. 浮点核心数据上的问题
- 24. 核心数据的NSSet问题
- 25. iCloud - 核心数据同步问题
- 26. iphone核心数据executeFetchRequest内存问题
- 27. 核心数据关系类型问题
- 28. 核心数据上下文问题
- 29. 核心数据延迟加载问题
- 30. 问题保存图像核心数据