2017-02-16 16 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

その後所有者が現在のユーザーに設定されます。

関連する問題