gpt4 book ai didi

ios - 如何通过跨设备同步唯一标识 EKEvent

转载 作者:行者123 更新时间:2023-11-28 21:35:56 26 4
gpt4 key购买 nike

我正在尝试为项目制作事件同步功能。我需要与远程服务器同步事件。

  • 假设我在设备 A 中安装了该应用。
  • 如果我登录到另一台设备让 B,那么从 A 同步的事件也应该出现在设备 B 中,并且 B 的事件也应该同步。
  • 现在,如果我再次登录到设备 A,则应该添加 B 的事件。但以前来自 A 的事件不应再次添加到设备 A 为此,我决定保留其 eventIdentifier 在远程数据库上。
  • 当我再次返回设备 B 时,问题现在发生了,之前从设备 A 同步的事件已经存在,因此不应再次添加这些事件。但由于 eventIdentifiers 与设备 A 相同,无法识别事件是否已添加到设备 B 中。

谁能建议我如何在不重复事件的情况下实现这种跨平台事件同步?

EKEvent 具有属性 eventIdentifier,但它只是 readOnly 属性,我无法在某处保留事件的远程 ID。

最佳答案

eventIdentifier 不在设备之间共享 - 同一事件很可能在不同设备上具有不同的 eventIdentifier

相反,您需要使用 calendarItemExternalIdentifier - 这(通常)在不同的设备上是相同的。
一个(相对罕见的)异常(exception)是最近使用 EventKit 创建了一个事件,并且该事件尚未同步到服务器。这会导致 calndarItemExternalIdentifier to change at a later time .

使用 calendarItemExternalIdentifier,您可以通过查询数据库中是否已有具有相同 calendarItemExternalIdentifier 的记录来检查事件是否已添加。上述异常需要单独处理。

关于ios - 如何通过跨设备同步唯一标识 EKEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33931231/

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