如何在 iOS 10.3 中初始化 CKSubscription

How to initialize a CKSubscription in iOS 10.3

我正在构建一个需要订阅 iCloud public 数据库中记录更改的应用程序。现在,在观看了苹果视频并阅读了他们的文档之后,我决定开始工作。但是,我立即卡在这里:

CKSubScription 上的所有初始化方法均已弃用。这个可以看here, but meanwhile apple still seems to use the very same methods in their documentation here.

这让我很惊讶。环顾网络和 SO,似乎没有太多信息或任何可用的教程(至少,none 有关于初始化订阅的最新信息),可能是因为这项技术相对较新并且这些变化是最近的。我对 CloudKit 的经验非常肤浅,所以我宁愿寻求一种体面的方法来做到这一点,也不愿自己即兴创作。我的问题是:

如何初始化一个CKSubscription?

显然,如果订阅的整个想法已经过时,我愿意接受任何会导致我的应用在特定类型的记录出现在我的 public 数据库中时收到推送的答案。

似乎 CKSubscription 确实或多或少被弃用了。

根据 http://iosdevetips.blogspot.de/2016/06/deprecated-apis-in-ios-10.html 你现在应该使用 CKRecordZoneSubscriptionCKQuerySubscription


更新: 就像 Trevis 指出的那样,文档在这里并不是很有帮助,但至少 Xcode 显示了一个有点帮助的警告:

如果您正在寻找新的 class 来替代 Apple 自己的文档,请使用 CKQuerySubscription 代替 CKSubscription。它们具有几乎相同的初始值设定项。