Ios CKFetchNotificationChangesOperation的previousServerChangeToken是特定于用户还是特定于数据库?

Ios CKFetchNotificationChangesOperation的previousServerChangeToken是特定于用户还是特定于数据库?,ios,cloudkit,cknotification,Ios,Cloudkit,Cknotification,对于publicCloudKit数据库,是否有人知道在初始化CKFetchNotificationChangesOperation时用于previousServerChangeToken的数据令牌是: 1) 用户特定:数据令牌只能由一个Apple ID使用 或 2) 特定于数据库:不同的Apple ID可以使用相同的令牌来指定CKNotifications数据库中的相同状态 我很好奇,因为我有一些预加载的本地数据,可能需要在第一次启动时更新,我不确定是否应该使用CKFetchNotificati

对于publicCloudKit数据库,是否有人知道在初始化CKFetchNotificationChangesOperation时用于previousServerChangeToken的数据令牌是:

1) 用户特定:数据令牌只能由一个Apple ID使用

2) 特定于数据库:不同的Apple ID可以使用相同的令牌来指定CKNotifications数据库中的相同状态


我很好奇,因为我有一些预加载的本地数据,可能需要在第一次启动时更新,我不确定是否应该使用CKFetchNotificationChangesOperation(初始令牌保存在主捆绑包中)或者只获取公共数据库中的所有记录,并对照本地数据进行检查。

通知更改令牌是每个用户的值,不能用于假设公共数据库中记录的任何状态

听起来您正试图使用公共数据库来存储更新应用程序包中默认文件的文件


一种方法是在所有此类记录上存储
version
属性。当应用程序检查是否需要任何更新时,它可以对所有版本高于本地保存版本的记录运行
CKQuery
。然后,您的应用程序可以下载所有这些记录并使用它们,而不是使用其捆绑包中存储的数据。

您需要的是CKFetchRecordChangesOperation,但这仅适用于用户私有cloudkit数据库中的非默认区域。 此操作将为您提供整个记录区域的所有更改、删除的记录和更新(仅具有更改的属性)