Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.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
Swift 元数据?.storageReference?.downloadURL()返回零_Swift_Firebase_Metadata_Firebase Storage - Fatal编程技术网

Swift 元数据?.storageReference?.downloadURL()返回零

Swift 元数据?.storageReference?.downloadURL()返回零,swift,firebase,metadata,firebase-storage,Swift,Firebase,Metadata,Firebase Storage,我正试图下载一个url以存储在我的数据库中,但Firebase中的新更新禁止我这样做,因为它要求我使用新的方式下载url。这是我的密码: let imageName = NSUUID().uuidString let storageRef = storage.reference().child("project_images").child("\(imageName)") guard let uplodaData = UIImageJPEGRepresentation(image,

我正试图下载一个url以存储在我的数据库中,但Firebase中的新更新禁止我这样做,因为它要求我使用新的方式下载url。这是我的密码:

 let imageName = NSUUID().uuidString
 let storageRef = storage.reference().child("project_images").child("\(imageName)")

    guard let uplodaData = UIImageJPEGRepresentation(image, 1) else {
        return
    }


    let uploadTask = storageRef.putData(uplodaData, metadata: nil, completion: { (metadata, error) in

        if error != nil{
            print(error ?? "Failed to upload data in the uploadImages object there was an error:", error!)
            return
        }
如果我把断点放在这里,它不会继续通过下一节,我不知道为什么。当存储在错误的节点或其他地方时,我通常会看到这些问题

metadata?.storageReference?.downloadURL(completion: { (url, error) in


        if error != nil {
            print("Failed to download url:", error!)
            return
        }

        let url = "\(String(describing: url))"
        uploadedImageUrlsArray.append(url)

        uploadCount += 1
        if uploadCount == imagesCount{
            completionHandler(uploadedImageUrlsArray)
        }
    })
})
当我只有一个断点时,我可以检查完成中的错误变量,它为零


有人能告诉我我做错了什么吗。

您为此特定映像创建了一个存储引用,因此请使用它而不是
元数据?.storageReference

storageRef.downloadURL(completion: { (url, error) in


    if error != nil {
        print("Failed to download url:", error!)
        return
    }

    let url = "\(String(describing: url))"
    uploadedImageUrlsArray.append(url)

    uploadCount += 1
    if uploadCount == imagesCount{
        completionHandler(uploadedImageUrlsArray)
    }
  })
})

你能更清楚地知道你把断点放在哪里吗?您是否曾经访问过
let url=“\(字符串(描述:url))”
@Kayla Galway否,我无法通过“元数据”?.storageReference?.downloadURL(完成:{(url,错误)in”你在那之前检查过元数据是否为零了吗?是的,它不是零
元数据?.storageReference也不是零?它起作用了!非常感谢你对我的耐心!我也遇到了同样的问题,这解决了它,但我想我不完全明白为什么。谢谢!