2017-02-16 2 views
0

я получаю следующее сообщение об ошибке:Как сохранить активы в CloudKit sharedCloudDatabase?

An error occurred in CKError 0x6180000575b0: "Invalid Arguments" (12/2006); server message = "Cannot convert userId to dsId due to an invalid userId. Please check the format of the userId."; uuid = E843A411-D192-4435-BAC1-F52EDCA87990; container ID = "iCloud.com.example.myApp"

И мой код выглядит следующим образом:

func uploadAsset(recordType: String, fileURL: URL) { 
    let documentsDirectoryURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first! 

    let asset = CKAsset(fileURL: fileURL) 

    let recordZoneID = CKRecordZoneID(zoneName: "Notes", ownerName: "_abcdeg") 
    let record = CKRecord(recordType: recordType, zoneID: recordZoneID) 
    record.setObject(asset, forKey: "file") 

    CKContainer.default().sharedCloudDatabase.save(record) { savedRecord, error in 
     if let saveError = error { 
      print("An error occurred in \(saveError)") 
     } else { 
      print(savedRecord) 
    } 
} 

Любая помощь приветствуется. Заранее спасибо.

ответ

0

Я полный быстрый новичок ios и имел ту же проблему. Это было вызвано установкой неправильного имени владельца в идентификаторе зоны. Используйте этот метод вместо:

let recordZoneID = CKRecordZone(zoneName: "Notes").zoneID

Тогда владелец будет установлен для текущего пользователя.

Смежные вопросы