在我的可可應用程序中使用核心數據框架時,我創建了一些實體並使用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. 問題保存圖像核心數據