2012-05-09 42 views
0

我最近發現我的編譯源代碼的問題構建階段,它所編譯MyDB.xcdatamodeld MyDB.xcdatamodel到build(可能是從Xcode的版本或東西之間的一些移民遺留下來的)。這不是一個問題,直到我使用使用庫最近開始:如何從現有的應用程序安裝/軟件包中刪除舊的構建文件?

[NSManagedObjectModel mergedModelFromBundles:nil] 

肚裏,發現兩個MYDB文件,並拋出一個錯誤,它不能合併重複的實體,類似於這樣的問題Core Data: Error, "Can't Merge Models With Two Different Entities Named 'foo' " 。問題瓦特/他們的解決方案,雖然是它涉及刪除應用程序:)

我修復了我的生成階段(我刪除了MyDB.xcdatamodel線)的問題,如果我做了全新的應用程序安裝它工作正常,但如果我在現有安裝(即更新)上安裝應用程序,那麼我仍然會得到有關重複實體的相同數據庫錯誤。我想這是因爲MyDB.xcdatamodel文件仍然在用戶的捆綁中。

所以我的問題是:我怎樣才能把現有安裝的軟件包這個文件?

回答

1

我相信只有在開發期間通過Xcode安裝應用程序時,舊文件纔會被留下。嘗試測試通過臨時分發完成的升級,您不應該看到這個問題。

+0

這是真的。我還發現我可以從軟件包中刪除.mom文件。 – Shizam

-2

清理所有目標並刪除模擬器/設備上的應用程序? :)

+0

問題是這不能解決數百萬用戶已經安裝應用程序的問題:) – Shizam

相關問題