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