Проблема CKShare и CKRecord с операцией modifyRecordsCompletionBlock
Я пытаюсь включить возможность CKShare в свое приложение. Я использую приведенный ниже код для запуска процесса совместного использования, но я всегда проверяю сообщение об ошибке ("Не удалось изменить некоторые записи").
Мой код
ПРИМЕЧАНИЕ - privateprojects - это [CKRecord], который содержит мою базу данных записей.
@IBAction func shareRecord(_ отправитель: AnyObject) {
let controller = UICloudSharingController { controller,
preparationCompletionHandler in
let share = CKShare(rootRecord: self.publicprojects[0])
share[CKShare.SystemFieldKey.title] = "Shared Record" as CKRecordValue
share.publicPermission = .readOnly
let modifyRecordsOperation = CKModifyRecordsOperation(
recordsToSave: [privateprojects[0], share],
recordIDsToDelete: nil)
modifyRecordsOperation.configuration.timeoutIntervalForRequest = 10
modifyRecordsOperation.configuration.timeoutIntervalForResource = 10
modifyRecordsOperation.modifyRecordsCompletionBlock = {
records, recordIDs, error in
if error != nil {
print(error?.localizedDescription as Any)
}
preparationCompletionHandler(share,
CKContainer.default(), error)
}
self.publicdatabase.add(modifyRecordsOperation)
}
controller.availablePermissions = [.allowPublic, .allowReadOnly]
controller.popoverPresentationController?.barButtonItem =
sender as? UIBarButtonItem
present(controller, animated: true)
}
Любая помощь очень ценится.