Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase Xcode Swift-在下载URL上卡住_Swift_Firebase_Firebase Storage - Fatal编程技术网

Firebase Xcode Swift-在下载URL上卡住

Firebase Xcode Swift-在下载URL上卡住,swift,firebase,firebase-storage,Swift,Firebase,Firebase Storage,我知道downloadURL函数已被弃用,但我似乎无法让新的完成函数正常工作: @IBAction func postButtonClicked(_ sender: Any) { let mediaFolder = Storage.storage().reference().child("media") if let data = UIImageJPEGRepresentation(postImage.image!, 0.5) { mediaFolder.c

我知道downloadURL函数已被弃用,但我似乎无法让新的完成函数正常工作:

@IBAction func postButtonClicked(_ sender: Any) {

    let mediaFolder = Storage.storage().reference().child("media")

    if let data = UIImageJPEGRepresentation(postImage.image!, 0.5) {

        mediaFolder.child("\(uuid).jpg").putData(data, metadata: nil, completion: { (metadata, error) in
            if error != nil {
                let alert = UIAlertController(title: "Error", message: error?.localizedDescription, preferredStyle: UIAlertControllerStyle.alert)
                let okButton = UIAlertAction(title: "OK", style: UIAlertActionStyle.cancel, handler: nil)

                alert.addAction(okButton)
                self.present(alert, animated: true, completion: nil)

            } else {
                let imageURL = mediaFolder.downloadURL(completion: { (url, error) in
                    if error != nil {
                        print("error!!!!")
                    } else {
                        return url?.absoluteString
                    }



                })
                print(imageURL)

            }


        })

    }

}
我就是不能让它工作。我总是犯错误!!!!!我不知道为什么。在过去的3个小时里,我一直在努力处理这段代码,由于某种原因,我无法打印imageURL

我只想让imageURL等于url?.absoluteString


任何帮助都将不胜感激

您没有打印出URL,因为您没有查询正确的存储引用

首先,检查图像是否实际上载到存储器中,然后在
else
语句中将子Id添加到您的
mediaFolder

 mediaFolder.child("\(uuid).jpg").downloadURL(completion: { (url, error) in
 })

谢谢所以我要做的就是将代码粘贴到else语句中?是的,测试它。但正如我所说,首先要确保你的图片已经成功上传到了Tanks Dani!前几天它已正确上载,但现在由于未捕获的异常“InvalidFirebaseData”,我在终止应用程序时遇到此错误,原因:'(setValue:)无法在图像中存储类型为_SwiftValue的对象。只能存储NSNumber、NSString、NSDictionary和NSArray类型的对象。'