如何使用 CKSubscription 检查 CKAsset 更改?
Posted
技术标签:
【中文标题】如何使用 CKSubscription 检查 CKAsset 更改?【英文标题】:How to check CKAsset changes with CKSubscription? 【发布时间】:2015-02-11 09:45:27 【问题描述】:如何检查CKAsset
存储的图像在CloudKit
中是否发生了变化?
CKNotification 文档说有关desiredKeys:
数组中最多可以包含三个键。 对于您指定的键,允许的值为NSString
、NSNumber
、CLLocation
、NSDate
和 CKReference
。您不能指定其值包含其他数据类型的键。
CKAsset
不在列表中
【问题讨论】:
【参考方案1】:如果CKAsset
发生更改,您将收到推送通知。但确实订阅不会向您发送CKAsset
。所以你知道有些事情发生了变化,但没有发生变化。因此,您必须自己获取记录。如果您想知道发生了什么变化,那么您必须自己将对象与之前的值进行比较。您指定的键通常也是您希望在推送通知消息中显示的键。由于您可能希望使用记录的大部分值,我认为您将始终在您的应用收到通知后获取完整记录。
【讨论】:
你怎么看,当且仅当asset url和之前一样,这是否意味着内容的内容/哈希是一样的? 非常好的问题。我认为你只能通过执行一些测试来回答这个问题,并假设你所看到的将保持这种状态。资产将保存到您的设备,其中 url 将包含某种 quid id。然后只需测试如果您更改资产会发生什么。然后你会得到一个新的ID吗?如果您更新其他字段会发生什么。网址会保持不变。但是,既然您已经使用资产获取了记录,您还可以自己创建一个哈希并将其与之前的哈希进行比较。 如果每次更改都必须获取完整记录,如果我的用户超过 40 个,我认为我的应用可能会达到 40 个请求/秒的限制?以上是关于如何使用 CKSubscription 检查 CKAsset 更改?的主要内容,如果未能解决你的问题,请参考以下文章