Почему CloudKit CKOperations отключен? - PullRequest
0 голосов
/ 28 ноября 2018

Я сейчас использую CKQueryOperation и CKModifyRecordsOperation для работы с моими записями в cloudKit. Я считаю, что, использую ли я сотовую связь или Wi-Fi, иногда все идет хорошо, но иногда отключение операций отображается по тайм-ауту, CKError.Code = 4.Hereмои коды:

let operation = CKModifyRecordsOperation(recordsToSave: [record], recordIDsToDelete: [])

    let config = CKOperation.Configuration()
    config.timeoutIntervalForRequest = 10
    config.timeoutIntervalForResource = 10

    operation.configuration = config
    operation.queuePriority = .veryHigh
    operation.modifyRecordsCompletionBlock = { [unowned self] (resultRecords, resultRecordIDs, error) in
        DispatchQueue.main.async {
            UIApplication.shared.isNetworkActivityIndicatorVisible = false
        }
        if let error = error {
            DispatchQueue.main.async {
                self.delegate!.failedWithError(error)
            }
        } else {
            let resultDevice = Device(record: resultRecords!.first!)
            self.deviceList.insert(resultDevice, at: 0)
            DispatchQueue.main.async {
                self.delegate!.succeedWithOperationMode(DeviceModel.OperationMode.insert, indexes: [])
            }
        }
    }
    privateDatabase.add(operation)
    UIApplication.shared.isNetworkActivityIndicatorVisible = true

Любая помощь будет оценена.

...