Como enviar corretamente uma imagem para o CloudKit como CKAsset?

Eu tenho uma imagem (UIImage e sua URL também) e estou tentando enviá-la para o CloudKit como um CKAsset, mas estou com este erro:Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Non-file URL'. Aqui está o código:

override func viewDidLoad() {
        super.viewDidLoad()

        send2Cloud()
    }

func send2Cloud() {
    let newUser = CKRecord(recordType: "User")

    let url = NSURL(string: self.photoURL)

    let asset = CKAsset(fileURL: url!)

    newUser["name"] = self.name
    newUser["photo"] = asset

    let publicData = CKContainer.defaultContainer().publicCloudDatabase

    publicData.saveRecord(newUser, completionHandler: { (record: CKRecord?, error: NSError?) in

        if error == nil {

            dispatch_async(dispatch_get_main_queue(), { () -> Void in
                print("User saved")
            })

        } else {
            print(error?.localizedDescription)
        }
    })
}

Eu tenho o URL, posso imprimi-lo, copiar e colar no meu navegador e ele mostrará minha imagem! Então, eu não sei o que está acontecendo aqui ...

Seria mais fácil se eu trabalhasse com uma UIImage em vez de sua URL? Porque, como eu disse antes, eu tenho os dois! Qualquer ajuda é muito apreciada! Obrigado rapazes!!

questionAnswers(3)

yourAnswerToTheQuestion