使用iCloud的CoreData:在NSPersistentStoreDidImportUbiquitousContentChangesNotification上接收空数据

时间:2013-08-06 15:49:20

标签: ios objective-c core-data icloud

我们正在开发一款使用iCloud存储CoreData文件并在iPhone和iPad之间共享此数据的应用程序。当通过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服务联系了Apple(您的订阅每年都有2个技术支持请求),并且几乎发送给我们之后我写的相同文字我得到了这个答案:

  

Hello Jordi,

     

感谢您与Apple Developer技术支持联系。我们的   工程师已经审核了您的请求并确定了这一点   最好将其作为错误报告处理。

     

请使用Bug提交有关此问题的完整错误报告   记者工具http://bugreport.apple.com

所以,我会开始寻找替代方案......如果我发现任何我会让你更新:(

1 个答案:

答案 0 :(得分:2)

这是一个错误。在即将发布的iOS版本中可能会修复或未修复。在NSPersistentStoreDidImportUbiquitousContentChangesNotification上搜索,您可能会发现一些人们已经尝试过的疯狂解决方案。通知似乎是错误的,但由于您只收到一次通知,因此您从未收到包含正确数据的通知,因此实际上您会丢失数据。就个人而言,这个(这是最后一根稻草),以及其他许多难以处理的问题在我尝试使用Apple方法使用iCloud进行核心数据同步时失败了。由于我走了一条完全不同的路线,我不知道是否要修复。