删除的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数,是我的也是不准确的。
- 检查来自Alamofire和Swift的多个asynchronous响应
- 使用instantiateViewControllerWithIdentifier和performseguewithidentifier有什么区别?
- 如何将string转换为unicode(UTF-8)string在Swift中?
- 为什么顶层布局指南在我的iMessage扩展中移动
- 本地化在Swift 2
- 在Swift中使用CCCrypt(CommonCrypt)问题
- 在开放源代码分析服务器上实现云代码
- 如何重绘只有一个特定的图层? (IOS,SWIFT)
- 如何使CAShapeLayer中的dynamicstrokeColor? 在Swift中