#ios #swift #cloudkit
#iOS #swift #cloudkit
Вопрос:
Существует реальная нехватка документации и информации в целом относительно общедоступного контейнера CloudKit. У меня возникла проблема, из-за которой данные не могут быть отправлены, когда устройство подключено к сотовой сети, но отлично работает при подключении к Wi-Fi.
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); «Подключение к Интернету, похоже, отключено».
когда сотовое соединение определенно не является проблемой на моем устройстве.
Комментарии:
1. Вы не отправляете запрос URL, не так ли?
2. Разве CloudKit API не делает это для нас в
CKContainer.default().publicCloudDatabase
?
Ответ №1:
Интересно, может ли это быть настройкой на устройстве. Вы проверили, что iCloud Drive разрешено использовать данные сотовой связи?
На вашем iPhone / iPad перейдите к Settings
> Cellular
> iCloud Drive
(путь внизу; убедитесь, что он включен).
Комментарии:
1. вау, я боролся с этим последние несколько дней. Большое вам спасибо
2. Есть ли способ проверить, включены ли у пользователя эти настройки?
3. Я не думаю, что есть, нет. Вам просто нужно будет следить за ошибкой сетевого подключения, а затем показывать пользователю сообщение, в котором говорится, что Интернета нет (и что, возможно, им следует проверить свои настройки).).
4. Мы столкнулись с такой же проблемой, и iCloud Drive был включен. Я пытаюсь найти причину, есть ли какая-либо другая возможная причина?