ios - CloudKit 订阅有时不起作用

标签 ios ios8 cloudkit cksubscription

如果我尝试使用此代码订阅 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);服务器消息=“内部服务器错误”; uuid = B89DE7A4-9D22-42BC-9CD4-4330F3FE04EF;容器 ID = "iCloud.com.app.testApp"

CKError 0x14fb3510:“服务不可用”(6/2022);服务器消息 = “无法安装架构,CAS 失败”; uuid = F562D1AD-B40E-4842-A5EA-2A5F800C18F2;容器 ID = "iCloud.com.app.testApp"

有人知道怎么解决吗?我可以用我的代码做些什么吗?这是苹果的问题,我什么也做不了? 谢谢。

最佳答案

我最近遇到了类似的错误,并且能够通过在项目的功能中切换 CloudKit 来解决它。一旦我重置了 CloudKit 权限,一切似乎都运行良好。

关于ios - CloudKit 订阅有时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26092901/

相关文章:

objective-c - 使用 IOS 共享扩展启动应用程序

ios - 为什么 ubiquityIdentityToken 总是为零?

android - 从 Flutter 中的函数名获取函数

ios - 是否可以使用 NSAttributedString 设置多个字体属性

ios - 更新到 8.0 版本后 Xcode 链接错误

ios - 当传输编码的响应 header 值被分块时,NSURLCache 不起作用

text - 使用 Swift 更改文本颜色

ios - 构建 TensorFlowLite Swift 自定义框架

ios - 如何在 Cloudkit 上创建此数据/模型以将其显示在我的应用程序中?

ios - CloudKit更新通知可以将应用程序从 "Not running"状态唤醒吗?