【发布时间】:2019-04-18 07:32:53
【问题描述】:
我在我的 iOS 应用程序中使用 CloudKit。
在我的应用程序中,每当用户修改某些数据时,我都会更新 CloudKit 私有数据库,以便用户的其他设备也可以更新。
用户可以启用/禁用此同步机制。
当用户启用同步时,我创建订阅并将本地数据推送到 CloudKit。
如果用户已登录到其他设备,他们会按预期开始收到有关私有数据库更改的远程通知。
应用程序显示UISwitch 供用户启用/禁用同步。
假设用户有 2 个设备 DeviceA 和 DeviceB,这表明通过将 UISwitch.isOn 设置为 true 已启用同步。
如果用户在 DeviceA 上禁用同步,则订阅将被删除,并且在 DeviceA 上所做的更改不会像预期的那样触发对DeviceB 的远程通知。
但DeviceB 仍然显示同步已启用。
有没有办法知道订阅何时被删除?
我知道CKFetchSubscriptionsOperation。我可以定期致电CKFetchSubscriptionsOperation 了解订阅情况。有没有更好的方法呢?
【问题讨论】:
标签: ios apple-push-notifications cloudkit