定义与先前的值冲突- StorageGetDownloadURLTask.swift

yqhsw0fo  于 2023-01-08  发布在  Swift
关注(0)|答案(1)|浏览(82)

尝试在Xcode中构建应用程序时遇到错误。在Firebase Storage-StorageGetDownloadURLTask.swift中。
火源储存:11.0.7
扑动:3.0.5
X代码12
它用几行文字显示了以下信息:
"定义与以前的值冲突。
类型"Any?"的值没有成员"count"。
类型"Any?"的值没有成员"components"

我想了解为什么我得到这个错误,以及如何修复它。
我已经将Firebase存储版本从11.0.1更新到11.0.7。我删除了podfile.lock。我删除了Pods. flutter clean命令,然后是flutter pub get. Pod安装,Pod解集成,Pod更新。
我尝试将我的应用程序从flutter 2.2.3升级到flutter 3.0.5,我成功地在Android上运行了它,但是在Xcode中显示了这个错误。

u5rb5r59

u5rb5r591#

downloadTokens = dictionary["downloadTokens"]声明了一个名为downloadTokens、类型为Any?的常量。
guard let downloadTokens = downloadTokens as? String试图声明一个名为downloadTokens且类型为String的常量。
因此,您试图创建两个名称相同但类型不同的独立常量,因此出现错误消息"* 定义与先前值冲突 *"。
将代码更改为:

guard let downloadTokens = dictionary["downloadTokens"] as? String,
    downloadTokens.count > 0 else {

这会将两行代码合并为一行,创建一个名为downloadTokens且类型为String的常量。
此修复将解决其他两个错误,因为downloadTokens的类型不是String,而是Any?

相关问题