只能通过wifi连接到CloudKit的公共容器,而不能通过蜂窝连接

时间:2020-09-08 21:55:22

标签: ios swift cloudkit

总体上,关于CloudKit的公共容器,确实缺乏文档和信息。我遇到了一个问题,即当设备处于其蜂窝网络中时无法发送数据,但是当连接到Wifi时效果很好。

let publicCloudDatabase = CKContainer.default().publicCloudDatabase
let operation = CKModifyRecordsOperation(recordsToSave: [exampleRecord], recordIDsToDelete: nil)
let operationConfiguration = CKOperation.Configuration()

operationConfiguration.allowsCellularAccess = true
operationConfiguration.qualityOfService = .userInitiated
operation.configuration = operationConfiguration

operation.perRecordProgressBlock = {(record, progress) in
    print(progress)
}

operation.perRecordCompletionBlock = {(record, error) in
    print("Upload complete")
}

publicCloudDatabase.add(operation)
publicCloudDatabase.save(exampleRecord) { [unowned self] record, error in
    if let error = error {
        print("public cloud database error: \(error)")
    } else {
        print("Sucessfully uploaded to Public Cloud DB")
    }
}

我不断收到一条错误消息:

CKError 0x281ff9ec0:“网络不可用”(3 / NSURLErrorDomain:-1009); “ Internet连接似乎处于脱机状态。”

当蜂窝连接绝对不是我设备上的问题时。

1 个答案:

答案 0 :(得分:4)

我想知道这是否是设备上的设置。您是否检查过允许 iCloud Drive 使用蜂窝数据?

在iPhone / iPad上,转到Settings> Cellular> iCloud Drive(在底部向下;确保已打开)。