0

我使用 CKQueryOperation 从 iCloud 获取记录。我发现当我的 iPhone 的网络环境是蜂窝网络时,查询操作 off 失败了

CKError.Code.networkFailure:“可用,但 CFNetwork 给了我们一个错误”。

但我不知道为什么。这会与我的网络运营商有关吗?

let predicate = NSPredicate(value: true)
    let query = CKQuery(recordType: "RECORD", predicate: predicate)
    query.sortDescriptors = [NSSortDescriptor(key: "modificationDate", ascending: false)]
    let operation = CKQueryOperation(query: query)

// config
let config = CKOperation.Configuration()
config.timeoutIntervalForRequest = 10
config.timeoutIntervalForResource = 10
config.allowsCellularAccess = true
config.qualityOfService = .default
operation.configuration = config
operation.queuePriority = .normal

operation.recordFetchedBlock = { record in
    // handle every record
}
operation.queryCompletionBlock = { (cursor, error) in
    if let error = error {
        // handle error
    } else {
        // succeed
    }
}
self.privateDatabase.add(operation)
4

0 回答 0