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() 

快速帮助笔记

fetchAllSubscriptionsOperation

同样,根据文档fetchAllSubscriptionsWithCompletionHandler将获取当前数据库上的所有订阅

fetchAllSubscriptionsWithCompletionHandler的帮助

Interesting Posts