1

我们正在开发一个使用 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)都有不同的数据。

有谁知道为什么会发生这种情况以及接收这些空集的含义是什么?这是一个错误还是什么?

联系苹果后更新

好吧,我通过 DTS 服务联系了 Apple(您的订阅中每年都有 2 个技术支持请求),并且在向他们发送了我在这里写的相同文本之后,我收到了这个答案:

你好乔迪,

感谢您联系 Apple 开发者技术支持。我们的工程师已经审查了您的请求,并确定最好将其作为错误报告处理。

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

所以,我会开始寻找替代品......如果我找到任何我会及时通知你:(

4

1 回答 1

2

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

于 2013-08-06T21:51:08.380 回答