0

申し訳ありませんが、平易な英語で答えを見つけることができません。または、少なくとも私が見るすべての答えは、私が持っていてはならない一定量の知識を持っていることを前提としています. を削除するだけですCKSubscription。どうすればいいですか?すべてのヒントとヘルプは大歓迎です。

4

1 に答える 1

1

削除するサブスクリプションのサブスクリプション ID がない場合は、最初にすべてのサブスクリプションを取得し、削除するサブスクリプションのサブスクリプション ID を特定する必要があります。

[[[CKContainer defaultContainer] publicCloudDatabase] fetchAllSubscriptionsWithCompletionHandler:^(NSArray<CKSubscription *> * _Nullable subscriptions, NSError * _Nullable error) {
    if (!error) {
        //do your logic to find out which subscription you want to delete, and get it's subscriptionID
    } else {
        //handle error
    }
}];

次に、subscriptionID を取得したので、単純に削除します。

CKModifySubscriptionsOperation *operation = [[CKModifySubscriptionsOperation alloc] initWithSubscriptionsToSave:nil subscriptionIDsToDelete:YOUR_SUBSCRIPTION_ID];

operation.modifySubscriptionsCompletionBlock = ^(NSArray <CKSubscription *> * __nullable savedSubscriptions, NSArray <NSString *> * __nullable deletedSubscriptionIDs, NSError * __nullable operationError) {
    //handle the results when the operation has completed
};

[[[CKContainer defaultContainer] publicCloudDatabase] addOperation:operation];

考えられるすべてのエラーを常に適切に処理することを忘れないでください。

于 2016-07-06T07:56:44.990 に答える