1

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

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

或者

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

我想知道,因为我有一些预加载的本地数据可能需要在首次启动时更新,我不确定我应该使用 CKFetchNotificationChangesOperation (初始令牌保存在主包中)还是只获取所有记录公共数据库并检查本地数据。

4

2 回答 2

1

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

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

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

于 2015-12-16T01:45:45.503 回答
0

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

于 2016-01-12T00:05:36.440 回答