CloudKit retrieves all subscriptions from the current user

I manage to save, modify and delete entries in Apples CloudKit. I even received notifications working with subscriptions that I can’t find out how I can list all subscriptions for the current user.

Here is my code:

let operation = CKFetchSubscriptionsOperation()
operation.fetchSubscriptionCompletionBlock = { (d, e) -> Void in
    println("got subscription")
    if e != nil {
        println("Error")
        dump(e)
    }
    dump(d)
}
publicDatabase.addOperation(operation)

I got:

got subscription
Error
- <CKError 0x14db0ed0: "Invalid Arguments" (12)> #0
- 0 key/value pairs

What are the invalid arguments? And how do I get a list of all saved subscribers?

+4
source share
2 answers

If you want to do something with subscriptions, you can use something like this:

var database = CKContainer.defaultContainer().publicCloudDatabase
database.fetchAllSubscriptionsWithCompletionHandler({subscriptions, error in
        for subscriptionObject in subscriptions {
            var subscription: CKSubscription = subscriptionObject as CKSubscription
            ..
        }
    }
+9
source

, docs; fetchAllSubscriptionsOperation() , fetchSubscriptionCompletionBlock. :

let operation = CKFetchSubscriptionsOperation.fetchAllSubscriptionsOperation()

fetchAllSubscriptionsOperation

, fetchAllSubscriptionsWithCompletionHandler :

fetchAllSubscriptionsWithCompletionHandler-help

+2

All Articles