2009-10-28 93 views
2

我試圖在Mac OS X Leopard應用程序中遷移核心數據SQLite存儲。遷移本身很簡單,模型版本之間只有一些變化,並且有一個自定義的NSEntityMigrationPolicy可以進行一些字符串操作。遷移核心數據存儲時出現隨機崩潰

99%的時間,這完美的作品。然而,偶爾它會在 objc_assign_strongCast下下崩潰。

在這一點上,我的自定義遷移策略尚未被調用,所以我不認爲這是造成它。我也三倍檢查了我的映射模型文件,並且一切似乎都很好。

踢球者是,如果我只是試圖遷移同一個文件再次,它通常工作正常。我不知道從哪裏開始調試,所以任何指針都會受到歡迎!

回答

2

在與DTS交談之後,事實證明這個 Mac OS X 10.6上的Core Data中的一個錯誤。

解決方法:確保您沒有將nil錯誤傳遞給migrateStoreFromURL: type: options: withMappingModel: toDestinationURL: destinationType: destinationOptions: error:。這應該是允許的,但在這種情況下它會導致崩潰。

0

兩件事情:

  1. 使用蘋果提供的工具(即儀器)來跟蹤內存管理的問題。它可能仍然在你自己的代碼中。
  2. 嘗試將這一數字減少到一個簡單的,可重複的情況,並提交錯誤報告與蘋果。*

我發現了很多的彈出周圍已經給了我嚴重的暫停「自動」遷移問題。讓他們解決問題的唯一方法是確保Apple知道他們中的每一個人。