2010-02-27 42 views
3

在我的iPhone應用程序中,我使用核心數據,並對我的數據模型進行了更改,無法自動遷移(即添加新關係)。我添加了數據模型版本(設計 - >數據模型 - >添加模型版本),並將新數據模型更改應用到新版本2.然後創建映射對象模型,並將源模型和目標模型設置爲正確的數據模型(分別是舊的和新的)。核心數據遷移 - 「無法添加源存儲」錯誤

當運行應用程序並調用persistentStoreCoordinator,我的應用程序barfs具有以下:

2010-02-27 02:40:30.922 XXXX [73578:20B]未解決的錯誤錯誤域= NSCocoaErrorDomain代碼= (可可錯誤134110.)「,{ NSUnderlyingError =錯誤域= NSCocoaErrorDomain代碼= 134130 UserInfo = 0xfbb3a0」無法完成操作。 reason =「無法添加源存儲」; }

FWIW(不要太多,我認爲),我也取得了persistentStoreCoordinator通常的代碼更改爲使用NSMigratePersistentStoresAutomaticallyOption和NSInferMappingModelAutomaticallyOption(可自動遷移爲未來的數據模型的變化)。更相關的是,我的managedObjectModel是通過調用initWithContentsOfURL來創建的,其中文件/資源​​類型是「momd」。

我試着在映射模型(設計 - >映射模型 - >更新XXX模型)中更新源和目標模型以及刪除映射模型並重新創建它。我已經清理並重新構建,但都無濟於事。我仍然收到上述錯誤信息。

任何關於如何進一步調試或解決此問題的指針/想法?我沒有發佈任何代碼片段,因爲這更像是一個構建環境問題(我的代碼非常標準 - 只是使用映射模型處理遷移的常見核心數據代碼,但我很高興地展示代碼幫助)。

感謝任何幫助。

謝謝

回答

1

好的,現在已修復。 (一)刪除,然後重新創建我的託管對象模型類,(二)刪除,然後重新創建映射模型,然後最後我(三)刪除用戶下的iPhone項目/ XXX /庫/應用程序的支持/ iPhone模擬器/用戶/應用程序。因爲我以前試過並且只是做了(a)和(b)的失敗,我懷疑是(c)是哪個問題解決了問題。

+0

做(c)的一個副作用是我丟失了我的SQLite表中存在的所有數據。對我來說不是一個問題,因爲我預先填充數據,並且備份這些數據 - 但要注意其他數據。 – Tofrizer 2010-02-27 17:00:15

+15

我的意思是......你基本上避免了做不能真正解決問題的遷移。 – awolf 2011-03-16 03:50:20

+1

刪除iPhoneSimulator的文件夾也解決了我的問題。這很奇怪! – 2011-05-29 14:35:33