2013-08-06 22 views
1

我們正在開發一款使用iCloud存儲CoreData文件並在iPhone和iPad之間共享此數據的應用程序。當通過NSPersistentStoreDidImportUbiquitousContentChangesNotification接收到在其他設備上完成的數據更新時,即使在其他設備上發生了有效的更改以使更新發送,更新也是空的。使用iCloud的CoreData:在NSPersistentStoreDidImportUbiquitousContentChangesNotification上接收空數據

$0 = 0x1f5c64e0 NSConcreteNotification 0x1f5c64e0 {name = com.apple.coredata.ubiquity.importer.didfinishimport; object = <NSPersistentStoreCoordinator: 0x1f553130>; userInfo = { 
deleted = "{(\n)}"; 
inserted = "{(\n)}"; 
updated = "{(\n)}"; 
}} 

這並不總是發生,這似乎是完全隨機的,但都發生ManagedObjects(從iPhone和iPad),當有不同的數據。

有誰知道爲什麼會發生這種情況,收到此集合的含義是空的?這是一個錯誤還是什麼?

更新後聯繫Apple

嗯,我通過DTS服務聯繫蘋果(你有2個技術支持請求包含您的訂閱每年)和後幾乎把他們我在這裏寫下相同的文字我收到這樣的回答:

你好爾迪,

感謝您聯繫蘋果開發技術支持。我們的 工程師已審覈您的請求,並確定此 最好作爲錯誤報告處理。

請使用Bug 報告工具http://bugreport.apple.com提交有關此問題的完整的錯誤報告。

於是,我就開始尋找替代品...如果我找到任何我會及時向大家發佈:(

回答

2

這是一個錯誤。這可能會或可能不會被固定在即將發佈在NSPersistentStoreDidImportUbiquitousContentChangesNotification上搜索,您可能會發現一些已經嘗試過的瘋狂解決方案,通知似乎是通過格式不正確的,但由於您只收到一次通知,因此您永遠不會收到包含正確數據的通知,因此實際上我個人認爲這個(這是最後一根稻草),還有一些其他難以解決的問題,這些問題導致我試圖通過使用Apple的方法讓Core Data在iCloud上同步,因爲我採用了完全不同的路線如果是這樣,我不知道即將得到修復。

+0

你能給我這個「瘋狂」解決方案的任何鏈接? –

+0

看起來很快:[1](https://devforums.apple.com/thread/179938),[2](https://devforums.apple.com/message/808998),[3](http:///stackoverflow.com/questions/10194023/relational-integrity-and-validation-in-core-data-icloud-syncing),[4](http://stackoverflow.com/questions/9346503/icloud-sync-not-送數據貫通無處不容器)。如果我沒有記錯的話,我記得瘋狂的解決方案是每次交易都要執行兩次或者其他事情,但我不相信這樣的事情實際上會起作用。或者檢測它發生並要求用戶擦除和重建他們的iCloud商店。 –

+0

而[this thread](https://devforums.apple.com/message/827177#827177)可能與這個問題應該很快解決的問題有關。 –

相關問題