我使用UIManagedDocument和無處不在選項(NSPersistentStoreUbiquitousContentNameKey和NSPersistentStoreUbiquitousContentURLKey)測試Core Data和iCloud。 一切工作正常。我的設備可以在合理的時間內無故障地同步。數據庫很小(低於100K)。核心數據iCloud事務日誌
正如我所說我正在測試應用程序,並對數據庫進行了很多更改,並因此產生了很多事務日誌。我的問題是,如果我刪除並重新安裝上用於測試的設備中的一個應用程序(不刪除的iCloud數據)的應用程序需要很長的時間來打開文檔。 openWithCompletionHandler需要幾分鐘,有時永遠不會結束。如果我打開調試(-com.apple.coredata.ubiquity.logLevel 3)我可以看到,有一個漫長的等待和數據庫與事務日誌重建後。 如果我刪除iCloud數據並重新插入第一個設備上的數據,第二個同步沒有問題。正因爲如此,我認爲,對於延遲的原因是大量的事務日誌(20-30測試時,我可以看到developer.icloud.com) 根據Managing Core Data iCloud Transaction Logs會自動處理核心數據,但我不能看到任何刪除。也許這需要更多的時間。
我的問題是:你的事務日誌被不斷鞏固?我可以強制整理日誌嗎?另一個推薦選項?
我只存儲所需要的iCloud中的核心數據文件同步的基本信息的子集。我有另一個本地文件與完整的數據庫,所以我可以重建iCloud數據庫沒有任何重大信息丟失。也許我可以在檢測到一堆日誌並重新創建時刪除iCloud DB。你認爲這是一個很好的選擇嗎?
謝謝你的幫助。
謝謝你回答湯姆。 – eko 2013-02-25 08:16:53