在 sharedDB cloudkit 中订阅记录更改
Posted
技术标签:
【中文标题】在 sharedDB cloudkit 中订阅记录更改【英文标题】:Subscribing to record changes in sharedDB cloudkit 【发布时间】:2017-04-19 04:42:37 【问题描述】:似乎CKQuerySubscription
不能用于订阅云套件中的共享数据库更改。 CKDatabaseSubscription
既不工作也不工作 CKSubscription
如何实现订阅共享数据库更改?
很简单。如何获得与我共享的记录更改通知。 我不是记录的所有者。
相关问题在这里:
How to receive cloudkit notifications about changes made on record shared with me?
【问题讨论】:
【参考方案1】:当数据库与我共享时,我努力使用 CKDatabaseSubscription成功订阅了一段时间。当我是一个分享者时,它工作得很好。我犯的错误是我在两种情况下都使用了相同的订阅 ID。如果要订阅共享数据库,则需要一个唯一的订阅 ID。
【讨论】:
哦,有可能吗?有趣的。我会试试的 嗯...你确定吗?我对共享数据库使用相同的订阅 ID,并且我有双向的后台推送通知。【参考方案2】:事实证明,在 CloudKit 中无法在区域级别或记录级别订阅共享数据库。参考:https://developer.apple.com/library/content/qa/qa1917/_index.html
Be aware that CKQuerySubscription is not supported in the shared database, and
CKDatabaseSubscription currently only tracks the changes from custom zones in the private and shared database.
【讨论】:
如果这个答案被接受,为什么它被否决了? 好吧,我不能对自己的答案投反对票。也许这个人因为 Apple/CloudKit Developer 不支持而生气。 这个答案不正确。可以在区域级别订阅共享数据库,因此具有共享数据库的设备将收到记录更改通知。只是无法查询订阅是否已设置。 嗯,最近可能变了?不是说我是对的,但我记得我无法让它工作。不管怎样,还是得试试菲尔的推荐。 @TheBasicMind,如果您可以分享,我很乐意看到有关如何订阅的代码。以上是关于在 sharedDB cloudkit 中订阅记录更改的主要内容,如果未能解决你的问题,请参考以下文章