Flutter iOS构建报错CocoaPods找不到FirebaseCore等兼容pod版本求助
问题根源
你的报错核心是三方依赖的版本要求互斥:
- 当前使用的所有Firebase系列Flutter插件锁定了iOS端Firebase SDK版本为7.3.0,但
google_ml_kit 0.6.0要求FirebaseCore >= 8.0,两者无法兼容 google_ml_kit 0.6.0内部不同功能模块依赖的MLKitCommon、MLKitXenoCommon版本也存在冲突
解决步骤
第一步:完整清理环境
之前的清理操作不完整,先执行全量清理:
- 在Flutter项目根目录执行命令:
flutter clean - 进入项目ios目录,依次执行以下命令:
rm -rf Pods Podfile.lock Runner.xcworkspace pod deintegrate pod repo update - 修改Podfile配置:你当前设置的iOS最低版本是10.0,Firebase 8.x和新版MLKit要求最低支持iOS 12.0,将Podfile第一行修改为:
platform :ios, '12.0'
第二步:解决依赖冲突
根据你的项目需求选择以下任意一种方案即可:
方案A:升级Firebase系列插件(推荐)
如果可以调整现有依赖版本,直接升级所有Firebase相关插件到支持Firebase SDK 8.x的版本:
- 在
pubspec.yaml中将所有firebase_开头的插件(包含firebase_core、cloud_firestore、firebase_auth、firebase_analytics等)升级到最新兼容版本,其中firebase_core最低需要升级到1.10.0,该版本开始默认适配iOS端Firebase SDK 8.x系列,可匹配google_ml_kit的依赖要求 - 升级完成后执行
flutter pub get
方案B:降级google_ml_kit版本
如果不想改动现有Firebase相关插件的版本,降级MLKit插件到兼容Firebase 7.x的版本:
- 在
pubspec.yaml中将google_ml_kit的版本降到0.5.0,该版本依赖的FirebaseCore为7.x系列,和你当前的Firebase SDK版本匹配 - 可以同时固定pose detection相关模块的版本,避免内部MLKit版本冲突
- 修改完成后执行
flutter pub get
第三步:重新安装Pod依赖
你使用的是英特尔芯片的Mac,不需要加arch -x86_64转译前缀,直接在ios目录执行:pod install
等待执行完成即可正常生成Podfile.lock和Runner.xcworkspace文件。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

