Ios 带iCloud的CoreData:在NSPersistentStoredImportubiQuantiousContentChangesNotification上接收空数据

Ios 带iCloud的CoreData:在NSPersistentStoredImportubiQuantiousContentChangesNotification上接收空数据,ios,objective-c,core-data,icloud,Ios,Objective C,Core Data,Icloud,我们正在开发一款应用程序,它使用iCloud存储CoreData文件,并在iPhone和iPad之间共享这些数据。当通过NSPersistentStoreDidImportUbiquitousContentChangesNotification接收到在另一台设备上完成的数据更新时,有时,即使在另一台设备上存在导致发送更新的有效更改,更新也是空的 $0 = 0x1f5c64e0 NSConcreteNotification 0x1f5c64e0 {name = com.apple.coredata

我们正在开发一款应用程序,它使用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)}";
}}
$0=0x1f5c64e0非结构化0x1f5c64e0{name=com.apple.coredata.ubiquity.importer.didfinishimport;对象=;用户信息={
已删除=“{(\n)}”;
插入=“{(\n)}”;
已更新=“{(\n)}”;
}}
这种情况并不总是发生,似乎是绝对随机的,但发生这种情况时,两个ManagedObject(来自iPhone和iPad)的数据都不同

有人知道为什么会这样吗?收到这些空的收藏有什么意义?这是虫子还是什么

联系苹果后更新

嗯,我通过DTS服务联系了苹果公司(你的订阅中每年都有2个技术支持请求),在向他们发送了我在这里写的相同文本后,我收到了以下答复:

你好,乔迪

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

请使用bug提交有关此问题的完整bug报告 记者工具在


所以,我会开始寻找替代品。。。如果我发现任何问题,我将向您提供最新信息:(

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

你能给我这个“疯狂”的链接吗解决方案?快速查看:,,。如果我没记错的话,我能回忆起一个疯狂的解决方案,就是每个事务执行两次或几次,但我不相信这样的事情会真正起作用。或者检测到它的发生,并要求用户擦除并重建他们的iCloud存储。这可能与如何修复此问题有关应该很快会的。Rob,很难相信这只是一个bug,我读到一些人报告说类似的问题已经存在一年多了。你为什么认为这个问题没有得到解决(或不赞成)然而?还有一件事……在我们的例子中,这种情况在一个特定的表中比在其他表中更常见,这怎么可能呢?我无法回答。如果这是困扰我的同一个问题,我无法克服它。在iOS/Mac开发社区中,比我更有声望的人无法通过iCloud wor获取核心数据king以任何一种可靠的方式让他们将其整合到产品中。你读过:,或?