问题
Bob的iPhone将记录A保存在Bob私人数据库中的某个区域。
Bob的iPad接收到更改的订阅通知,并从用户私人数据库中的someZone撤消recordA。
Bob的iPod touch还会收到更改的订阅通知,并从用户私人数据库中的某个区域检索recordA。
Bob的iPad在用户私人数据库的某个区域删除了recordA。
Bob的iPod touch和iPad(出于某种原因)收到删除的订阅通知。 Bob的iPhone没有收到订阅通知。
预期结果
Bob的iPad不应该收到删除的订阅通知。只有Bob的iPhone和iPod touch才能收到订阅通知。
这在CKSubscription的文档中有说明:
当记录修改导致订阅触发时,服务器 向所有具有该订阅的设备发送推送通知 对于原始更改记录的那个。
iPad删除了,因此,iPad不应该收到订阅通知。
实际结果
尽管iPad是记录原始更改的作者,但iPad仍会收到删除的订阅通知。
iPhone未收到删除通知。
iPod touch会收到删除的订阅通知。
其他反馈
看起来记录的原始作者(不是更改的原始作者)不会收到任何通知,无论谁删除了记录。这与文档不一致。
答案 0 :(得分:5)
这是一个已知的CloudKit错误。然而,有一个解决方法。当您首先通过进行小的更改来触摸记录然后删除记录,然后它按照描述工作。