私有数据库和订阅的 Cloudkit 问题?
Posted
技术标签:
【中文标题】私有数据库和订阅的 Cloudkit 问题?【英文标题】:Cloudkit issue with private database and subscription? 【发布时间】:2014-12-06 11:36:31 【问题描述】:问题
Bob 的 iPhone 将 recordA 保存在 Bob 私人数据库的 someZone 中。
Bob 的 iPad 接收到更改的订阅通知,并从用户私人数据库中的 someZone 检索记录 A。
Bob 的 iPod touch 还接收更改的订阅通知,并从用户私人数据库中的 someZone 中检索 recordA。
Bob 的 iPad 删除了用户私人数据库中 someZone 中的记录 A。
Bob 的 iPod touch 和 iPad(出于某种原因)收到删除订阅通知。 Bob 的 iPhone 没有收到订阅通知。
预期结果
Bob 的 iPad 不应收到删除订阅通知。只有 Bob 的 iPhone 和 iPod touch 才能收到订阅通知。
这在 CKSubscription 的文档中有说明:
当记录修改导致订阅触发时,服务器 向具有该订阅的所有设备发送推送通知除了 对于对记录进行原始更改的人。
iPad 进行了删除,因此 iPad 不应该收到订阅通知。
实际结果
尽管是原始记录更改的作者,但 iPad 仍会收到删除订阅通知。
iPhone 没有收到删除通知。
iPod touch 收到删除订阅通知。
其他反馈
无论是谁删除了记录,记录的原作者(不是更改的原作者)似乎都没有收到任何通知。这与文档不一致。
【问题讨论】:
【参考方案1】:这是一个已知的 CloudKit 错误。但是,有一个解决方法。当您首先通过进行小更改来触摸记录然后删除记录时,它会按照描述的方式工作。
【讨论】:
我想是这样的:openradar.appspot.com/19226338 或者这个:openradar.appspot.com/18810914以上是关于私有数据库和订阅的 Cloudkit 问题?的主要内容,如果未能解决你的问题,请参考以下文章