2017-02-16 29 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新手,並有同樣的問題。這是由於在區域ID中設置了錯誤的ownerName造成的。使用此方法代替:

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

那麼業主將被設置爲當前用戶。

相關問題