Я изучаю новый , который Apple выпустила в этом году, и у меня есть некоторые вопросы. Я пытался следить за видеороликом «Что нового в CloudKit» от WWDC, но часть кода больше не работает в Xcode.Как создать общий ресурс с помощью CKShare CloudKit?
Что я пытаюсь сделать, так это: пользователь вводит свое имя и телефон и после нажатия UIButton
поделятся с конкретным человеком. Вот код:
class ViewController: UIViewController, UICloudSharingControllerDelegate {
@IBOutlet weak var nome: UITextField!
@IBOutlet weak var telefone: UITextField!
@IBOutlet weak var button: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func send(_ sender: AnyObject) {
print("Send button was clicked.\n")
let elder = CKRecord(recordType: "Elder")
elder["name"] = self.name.text as CKRecordValue?
elder["telephone"] = self.telephone.text as CKRecordValue?
let ckContainer = CKContainer.default()
let shareRecord = CKShare(rootRecord: elder)
shareRecord[CKShareTitleKey] = "Elder" as CKRecordValue?
let shareController = UICloudSharingController(share: shareRecord, container: ckContainer)
shareController.delegate = self
shareController.availablePermissions = [.allowReadOnly]
shareController.popoverPresentationController?.sourceView = self.button
self.present(shareController, animated: true)
}
func cloudSharingController(_ csc: UICloudSharingController, failedToSaveShareWithError error: Error) {
print("PROBLEM SAVING SHARE")
}
func cloudSharingControllerDidSaveShare(_ csc: UICloudSharingController) {
print("SHARE SAVED")
}
func itemTitle(for csc: UICloudSharingController) -> String? {
return "a" //don't know what this is for
}
}
Мое приложение поддерживает печать «ПРОБЛЕМУ СБЕРЕЖЕНИТЕ ДОЛЮ», даже если появляется CloudSharingController. Кроме того, CKRecord старейшина не отображается в информационной панели CloudKit.
Обновить 'print (« ПРОБЛЕМА СОХРАНЯЮЩАЯ АКЦИЯ »)' '' print («ПРОБЛЕМА СОХРАНЕНИЕ АКЦИИ: \ (ошибка)») ', чтобы вы знали, почему она терпит неудачу. – rmaddy
Да, я сделал сразу после того, как я разместил здесь ... но в любом случае ошибка заключается в следующем: 'Добавленный ресурс сохраняется без его rootRecord ()' , В основном я не создаю корневую запись, но я не понимаю, корневая запись - «старший», и она прямо над ней! –
Должен ли я сохранить запись перед попыткой создать общий ресурс? –