我正在尝试为项目制作事件同步功能。我需要与远程服务器同步事件。
eventIdentifier
与设备A相同,无法识别事件是否已在设备B中添加。 有人可以建议我实现这种跨平台事件同步的方法,而不会重复事件吗?
EKEvent拥有属性eventIdentifiers
,但它只有eventIdentifier
属性,我无法在某个地方保留事件的远程ID。
答案 0 :(得分:2)
eventIdentifier
- 同一事件很可能在不同设备上具有不同的eventIdentifier
。
相反,您需要使用calendarItemExternalIdentifier
- 这将(通常)在不同设备上相同
一个(相对罕见的)异常是最近使用EventKit创建了一个事件,并且该事件尚未同步到服务器。这会导致calndarItemExternalIdentifier
to change at a later time。
使用calendarItemExternalIdentifier
,您可以通过查询来查看是否已添加事件,以查看数据库中是否已存在具有相同calendarItemExternalIdentifier
的记录。上述例外情况需要单独处理。