CloudKit获取当前用户的所有订阅
我设法保存,更改和删除Apples CloudKit中的logging。 我甚至收到了有关订阅的通知,我找不到的是,如何列出当前用户的所有订阅。
这是我的代码到目前为止:
let operation = CKFetchSubscriptionsOperation() operation.fetchSubscriptionCompletionBlock = { (d, e) -> Void in println("got subscription") if e != nil { println("Error") dump(e) } dump(d) } publicDatabase.addOperation(operation)
我得到的是:
got subscription Error - <CKError 0x14db0ed0: "Invalid Arguments" (12)> #0 - 0 key/value pairs
什么是无效的参数 ? 我如何得到所有保存的订阅的列表?
如果你想用你的订阅做些什么,那么你可以使用这样的东西:
var database = CKContainer.defaultContainer().publicCloudDatabase database.fetchAllSubscriptionsWithCompletionHandler({subscriptions, error in for subscriptionObject in subscriptions { var subscription: CKSubscription = subscriptionObject as CKSubscription .. } }
我还没有尝试过,但根据文档 ; fetchAllSubscriptionsOperation()
将获得当前数据库中用户的所有订阅,将此调用的值分配给fetchSubscriptionCompletionBlock
应该可以工作。 将以下代码行调整为:
let operation = CKFetchSubscriptionsOperation.fetchAllSubscriptionsOperation()
快速帮助笔记
同样,根据文档fetchAllSubscriptionsWithCompletionHandler将获取当前数据库上的所有订阅 :