无法注册订阅; CKError 0x19030580,"服务不可用"

Mik*_*l S 5 subscriptions ios8 cloudkit

每当我尝试注册订阅时,我都会收到错误:CKError 0x19030580: "Service Unavailable" (6/2022); server message = "refused to install an older schema (68f93710-7456-11e4-b13e-008cfac0c800) since we already have 693359e0-7456-11e4-8e42-008cfac03128"; uuid = 42F42F6B-98FB-4774-B735-271C1AEF07F1; container ID = "iCloud.com.*.*".当我尝试获取服务器上的所有订阅时,我什么也得不到.

为什么我收到CKError 0x19030580?为什么我无法检索订阅?我应该怎么解决它们?


码:

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


    CKNotificationInfo *notification = [[CKNotificationInfo alloc] init];
    notification.shouldSendContentAvailable = YES;

    notification.alertLocalizationKey = @"New Item available.";
    notification.shouldBadge = NO;

    itemSubscription.notificationInfo = notification;

    [self.privateDatabase saveSubscription:itemSubscription completionHandler:^(CKSubscription *subscription, NSError *error) {
        if (error) {

        } else {
            self.subscribedItems = subscription.subscriptionID;
        }
    }];
Run Code Online (Sandbox Code Playgroud)

Ryd*_*yde 7

我有类似的问题.我的一个记录保持拒绝上传.类似的"拒绝安装旧架构"错误出现了.首先,我认为这是在我的代码中,我尝试解决它的2-3天,但没有.

然后我尝试重置iCloud开发容器(通过iCloud仪表板).再次制作记录.然后尝试再次运行它.它有效.

我认为这是Apple方面的错误.顺便说一句,我受影响的记录虽然没有订阅.但你可能想尝试一下.

提示,您可能想要在订阅之前检查您的应用是否已经先订阅.我在NSUserDefaults中调用subscribe方法时保存subscriptionID.然后我删除它,如果取消订阅方法调用.