问题标签 [cknotification]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 记录中特定字段的 cloudkit 通知
我有 cloudkit 通知工作。当有人更改记录时,会通知订阅者。我的订阅定义如下所示:
问题是,该记录中有多个字段。我只想在一个特定字段发生变化时提醒订阅者。
创建订阅时,有没有办法设置搜索谓词来检测特定字段的变化?我通读了各种 Predicate 文档,但没有看到特别提到这一点。
或者,在收到通知时,有没有办法查看哪些字段发生了变化?在didReceiveRemoteNotification
我尝试过:
但queryNotification.recordFields
为空。
作为最坏的情况,我考虑过将特定字段分解为它自己的记录,但是我需要维护更多由公共 GUID 捆绑在一起的记录的开销。我希望保持这个更紧凑。
ios11 - CKModifyBadgeOperation 在 iOS 11 中已弃用。有人知道另一种方法吗?
我已经搜索过了,我找不到一个例子。我也尝试过调整此代码(在其他地方推荐(CloudKit 不会将我的徽章计数重置为 0):
这目前有效,但不再受支持,并且可能很快就会消失。
我想也许我应该使用 CKModfyRecordsOperation 或其他一些 CKDatabaseOperation,但我什至无法猜测如何。
swift - 如何排队大量入站 CloudKit 通知
假设我将 50 条记录保存到 CloudKit,CKModifyRecordsOperation
如下所示:
在我的其他设备上,我会收到50 个不同的背景通知,每一个都CKRecord
发生了变化。没关系,我期待。
我像这样处理每个入站通知:
CKRecordID
但是由于 50 个传入通知中的每一个都是单独的事件,因此该函数会被调用 50 次不同的时间,因此会触发大量请求以使用通知给我的 s 来拉取完整记录。
如何在合理的时间内将所有传入的 notification 排队,CKRecordID
以便我可以一次CKFetchRecordsOperation
使用多个 recordID 发出更有效的请求?
swift - 在 didReceiveRemoteNotification 中处理来自公共、私有和共享数据库的通知
我通过将 userInfo 转换为 CKDatabaseNotification 来处理私有和共享数据库通知。但是我确实在 didReceiveRemoteNotification 方法中也收到了公共数据库通知,并且 Apple 模板代码没有显示如何处理它并且它引发了一个 fatalError。如何通过我的 fetchChanges 方法处理公共数据库通知?