Firebase存储警告:不推荐使用downloadURL()’:使用`StorageReference.downloadURLWithCompletion()

我刚刚将我的项目更新到最新版本的Firebase存储,现在我收到一条警告:不推荐使用downloadURL():使用StorageReference.downloadURLWithCompletion()获取当前的下载URL。

我查看了Firebase图片上传文档,但它仍然使用downloadURL()进行引用,现在折旧了。 在下面的代码中,我将图像的下载URL作为字符串。 代码可以工作但现在要更新,因为downloadURL()已经过折旧

 uploadProfilePicTask.observe(.success) { snapshot in guard let profilePicStringURL = snapshot.metadata?.downloadURL()?.absoluteString else { return } ... 

这是我尝试更新的。 我使用新的downloadURLWithCompletion()尝试了下面的代码,但是在snapshot.metadata?.storageReference? 返回nil所以我无法检索url String。 有谁知道如何在下面适当地使用新的downloadURLWithCompletion()

 uploadProfilePicTask.observe(.success) { snapshot in snapshot.metadata?.storageReference?.downloadURL { URL, error in if let urlString = URL?.absoluteString { // Do something } else { return } } 

基本上不使用元数据,而只是在您的observe事件成功后获取URL。 由于它的成功,你知道它在那里,你可以下载URL。 它的文档中有“生成下载URL”。 下面,我假设您的StorageReference是uploadProfilePicTask。

 uploadProfilePicTask.downloadURL(completion: { (url, error) in if (error == nil) { if let downloadUrl = url { // Make you download string let downloadString = downloadUrl.absoluteString } } else { // Do something if error } })