9

このコードで CloudKit にサブスクライブしようとすると:

    NSPredicate *truePredicate = [NSPredicate predicateWithValue:YES];
    CKSubscription *itemSubscription = [[CKSubscription alloc] initWithRecordType:RecordType
                                                                        predicate:truePredicate
                                                                          options:CKSubscriptionOptionsFiresOnRecordCreation | CKSubscriptionOptionsFiresOnRecordUpdate | CKSubscriptionOptionsFiresOnRecordDeletion];


    CKNotificationInfo *notification = [[CKNotificationInfo alloc] init];
    notification.alertBody = @"Item Added/Updated/Deleted!";
    itemSubscription.notificationInfo = notification;

    [self.publicDatabase saveSubscription:itemSubscription completionHandler:^(CKSubscription *subscription, NSError *error) {
        if (error) {
            // In your app, handle this error appropriately.
            NSLog(@"An error occured in %@: %@", NSStringFromSelector(_cmd), error);
        } else {

            NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
            [defaults setObject:subscription.subscriptionID forKey:kSubscriptionID];
            [defaults synchronize];
        }
    }];

時々このエラーが発生します:

CKError 0x17558460: "サーバーは要求を拒否しました" (15/2000); server message = "内部サーバー エラー"; uuid = B89DE7A4-9D22-42BC-9CD4-4330F3FE04EF; コンテナー ID = "iCloud.com.app.testApp"

また

CKError 0x14fb3510: "サービスを利用できません" (2022 年 6 月); サーバー メッセージ = "スキーマのインストールに失敗しました。CAS に失敗しました"; uuid = F562D1AD-B40E-4842-A5EA-2A5F800C18F2; コンテナー ID = "iCloud.com.app.testApp"

誰もそれを修正する方法を知っていますか? 自分のコードで何かできますか? これは Apple の問題で、私にはどうすることもできませんか? ありがとう。

4

3 に答える 3