删除的CloudKitlogging重新出现

我正在使用CloudKit构build一个iOS应用程序。

它应该允许用户在云中添加,编辑和删除Products 。 用户可以在文件夹中组织这些。 这些文件夹只是cloudkit中的其他loggingtypes。 用户可以使用的文件夹级别没有限制,因为任何文件夹都可以保存一个CKReference到它的父文件夹。 我的应用程序中的所有CloudKit通信都发生在专用的CloudKitController类中

这一切正常,但没有明确的理由后,停止工作。

当我testing我的应用程序时,我甚至不使用多层次的文件夹。 但是,使用一段时间(最多一周)后,所有已删除的logging似乎都会重新出现在CloudKit上。 关于这个的一些注意事项:

  • 当我重置我的CloudKit仪表板并重新开始时,它完美的工作。 没有代码更改。
  • 显然,我正在不断编辑我的代码,因为应用程序正在开发中。 不过,我通常不会编辑要存储在CloudKit中的代码中的数据types。 当我这样做的时候,这个问题不会在事后出现
  • CloudKit Dashboard中的更改(例如,添加数据types)不会导致此问题
  • 本地不存储任何logging,如核心数据。 只要我用它们,他们就坐在一个单身人士身边
  • 当我进入CloudKit Dashboard时,产品loggingtypes显示它有13个实例。 有时候它太糟糕了,我的应用程序实际上会加载超过100个。我也可以看到他们,当我去的recordZone,但仍然RecordType说,它只有13个实例
  • 在CloudKit Dashboard中删除这些logging只会使其消失一段时间。 当我重新加载页面时,他们再次popup。

它已经这样一段时间了,我已经检查了我的代码,苹果图书馆和谷歌无数次,但我不明白是什么原因造成这个问题。

问题:有人会知道如何解决这个问题吗? 正如我所说,我已经跑了几个星期,重置我的CloudKit仪表板只能“治愈”了一个星期,然后再次popup。 如果能帮助你回答我的问题,我也会很乐意发布任何代码。 我还没有发布任何代码最初,因为我不知道什么代码可能会导致此。

任何答复将不胜感激

苹果回复了一个错误报告,我已经提出,这个问题应该用iOS9解决。到目前为止,似乎是正确的,因为这个问题还没有发生,但请让我知道,如果这仍然困扰某人。

这可能会发生,因为下面的仪表板跟踪表明Apple使用Tombstone技术来复制分布式数据库中的删除。 其中一个节点可能有一个错误或一个旧的软件版本,并将系统中的逻辑删除虚假字段同步,导致logging自行删除。 或者,也许你的代码正在做的事情是不小心把这些删除的logging带回来的? 解决方法是使用自己的软删除布尔字段,看看如何行为。

 [{ "results": [{ "tombstone": false "id": "NewItem", "etag": "ibgs5bpj", "recordType": "Items", "fields": { "name": "Malc", "location": { "latitude": 38.0, "longitude": -122.0 } }, "conflictLosersEtags": [], "created": { "timestamp": 1435514295943, "user": "_0ac573ae502ca7ca9d763a84b27bc42a", "device": "_2" }, "modified": { "timestamp": 1435514295943, "user": "_0ac573ae502ca7ca9d763a84b27bc42a", "device": "_2" } }, ... 

至于logging数,是我的也是不准确的。