问题描述
总体上,关于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连接似乎处于脱机状态。”
当蜂窝连接绝对不是我设备上的问题时。
解决方法
我想知道这是否是设备上的设置。您是否检查过允许 iCloud Drive 使用蜂窝数据?
在iPhone / iPad上,转到Settings
> Cellular
> iCloud Drive
(在底部向下;确保已打开)。