You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter M1芯片iOS端运行cloud_firestore版本依赖冲突求助

问题根因

当前的依赖冲突核心是firebase_admob v0.11.2版本过旧,依赖的Google Mobile Ads SDK版本过低,和其他Firebase系列插件依赖的Firebase Core、nanopb版本存在不兼容:

  • 新版Firebase Firestore依赖nanopb ~> 2.30908.0
  • 旧版firebase_admob依赖nanopb ~> 0.3,两个大版本完全不兼容
解决方案步骤
  • 第一步:替换废弃的firebase_admob包
    firebase_admob早已停止维护,官方已将广告相关能力迁移到google_mobile_ads包,将pubspec.yaml中firebase_admob: ^0.11.2的配置替换为google_mobile_ads: ^1.0.1,该版本和你当前其他Firebase依赖版本适配度最高。
  • 第二步:清理旧的构建缓存与依赖
    先执行以下命令清理历史缓存,避免旧依赖残留导致冲突:
flutter clean
rm -rf ios/Pods
rm ios/Podfile.lock
  • 第三步:M1芯片专属适配操作
    确认Podfile开头没有强制锁定nanopb、FirebaseCore版本的自定义配置,避免额外的版本限制冲突。
  • 第四步:重新拉取依赖
    回到项目根目录依次执行:
flutter pub get
cd ios && arch -x86_64 pod install --repo-update
  • 第五步:验证兼容性
    重新运行项目到iOS模拟器即可,所有Firebase依赖版本已经对齐,不会再出现版本冲突问题。
临时兼容方案(不可长期使用)

如果短时间内无法重构广告相关代码替换旧包,可以在Podfile末尾添加以下代码强制锁定版本,优先兼容Firebase新依赖:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end
  # 强制锁定nanopb版本解决冲突
  pod 'nanopb', '~> 2.30908.0'
end

注意:此方案可能导致旧版firebase_admob出现未知运行异常,仅作为临时测试使用,长期使用还是建议优先替换为官方维护的新广告包。

内容的提问来源于stack exchange,提问作者Hridyansh Pareek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 14:54:05