gpt4 book ai didi

ios - CloudKit:使用通知在多个设备之间保持同步更改

转载 作者:行者123 更新时间:2023-12-01 15:44:53 25 4
gpt4 key购买 nike

我正在编写一个应用程序并使用 CloudKit。该应用程序将其数据存储在公共(public)数据库中。我已经创建了一个本地缓存,这样即使网络不可用,我的应用程序也可以运行。我正在使用 CKSubscriptions 和生成的推送通知来保持来自云的更改同步。所有这些都运作良好。

现在,如果用户有多个设备并在所有这些设备上运行我的应用程序,那么我就不能再将通知标记为“已读”(使用 CKMarkNotificationsReadOperation),因为我不知道什么时候所有设备都已处理它们。如果其中一个设备在发生更改时处于离线状态,则尤其如此。如果我将它们标记为已读,那么当其他设备检查新通知(使用 CKFetchNotificationChangesOperation)时,它们将看不到它们,并且它们的本地缓存将过时。

我目前的解决方案是让所有通知都处于“未读”状态,并依赖于 CKFetchNotificationChangesOperation 中的 CKServerChangeToken,以便每个设备只抓取已发生的通知自该设备上次检查以来。这很好用。

但是,在我看来,由于我没有将任何通知标记为“已读”,它们只会继续堆积在服务器上。也许这没什么大不了的,但它们会占用空间,我也没有什么好办法摆脱它们。随着时间的推移,这似乎会成为一个问题。

有没有人以类似的方式使用订阅/通知并想出不同的方法?此外,欢迎对我的方法提出任何反馈。

最佳答案

无论读取状态如何,服务器都会删除旧的通知。

关于ios - CloudKit:使用通知在多个设备之间保持同步更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34075199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com