2011-08-08 54 views
1

我得到這個警告我的xdatamodeld文件:「版本哈希信息不適用於所有型號」。我如何擺脫這一點?當我將應用安裝爲新的時候,我也開始在啓動時遇到崩潰...不知道它們是否相關?這是崩潰:核心數據警告:「版本哈希信息不適用於所有型號」

*終止應用程序由於未捕獲的異常「NSInvalidArgumentException」,原因是:

回答

3

這是一個iOS5測試版問題,由您的模型文件中的提取請求引起。目前,刪除提取請求修復了它。

0

我遇到一次,我已經安裝的Xcode 4.2同樣的事情,「不能用零模型創建NSPersistentStoreCoordinator」與iOS 5測試版5,也許它是那裏? 我沒有在昨天晚上在我的生產系統上工作,使用Xcode 4.1。不幸的是我現在正在重新安裝它,並且需要一段時間才能知道這是否是原因。

+0

正如我發現的那樣,這絕對是因爲測試版本,而且如果您在模型文件中有獲取請求,就會發生這種情況。如果可以的話,將其刪除,它會正常工作。 –

+0

謝謝,我通過刪除測試版來解決問題,並安裝了Xcode的生產版 - 我沒有時間進行實驗,所以時間不夠。不過,我確實在模型中獲取了請求,所以可以解釋它。很好,你已經發現了! –

+0

請發表評論等消息,而不是答案。 – rluba

0

第一個錯誤表明您有多個.xcdatamodel文件具有相同名稱但版本不同。多個倍數中的一個缺少內部版本號,即版本哈希。

第二個錯誤是由第一個錯誤引起的,因爲託管對象模型不能通過合併具有相同名稱但不同和未知版本的模型文件來創建自己。如果沒有有效的託管對象模型,持久性商店協調員不能進行初始化。

如果在開發過程中發生這種情況,並且您沒有故意使用多個版本,那麼您可能在以前的版本的模擬器上有一箇舊的已編譯的.mom.momd文件。完全從模擬器中刪除應用程序,然後在Xcode中清理整個項目並重建並重新安裝。這通常可以解決問題。

+0

謝謝,但事實證明,根本原因是因爲測試版,我的模型文件中有一個獲取請求導致此警告和崩潰。刪除提取請求修復了它。 –

+0

@ZS - 您應該使用修復程序創建一個答案,以便其他人可以找到它。 24小時後你可以接受你自己的答案。 – TechZen

0

我在iOS 5 SDK中遇到了這個問題,並沒有出現上述任何問題。我的問題是因爲我在單個實體中有很多屬性,我無意間有一個重複的(即在同一個實體中有兩個lastUpdatedDate屬性)。