Я создаю частную и общую подписку в appdelegate. Общая подписка сохраняется. Но подписка на частную базу данных завершается ошибкой с кодом ошибки CKError.partialFailure. Поэтому попытался напечатать CKPartialErrorsByItemIDKey. Я не получаю частичные ошибки по ключу, который использовал. Итак, как узнать, почему моя подписка на сохранение частной базы данных не работает с частичной ошибкой, и исправить ее?
let subscriptionPrivate = CKDatabaseSubscription(subscriptionID: self.subscriptionIDPrivate)
let info = CKNotificationInfo()
info.shouldSendContentAvailable = true
subscriptionPrivate.notificationInfo = info
let operation = CKModifySubscriptionsOperation(subscriptionsToSave: [subscriptionPrivate], subscriptionIDsToDelete: nil)
operation.modifySubscriptionsCompletionBlock = { saved, deleted, error in
guard error == nil else {
if let ckerror = error as? CKError {
print("Failed: Private DB subscription.")
self.aErrorHandler.handleCkError(ckerror: ckerror)
print(ckerror.userInfo["CKPartialErrorsByItemIDKey"] as? String ?? "no CKPartialErrorsByItemIDKey")
}
return
}
}
operation.qualityOfService = .utility
privateDB?.add(operation)