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

Flutter项目更新Pods时遇GoogleDataTransport版本兼容问题求助

解决CocoaPods依赖冲突:GoogleDataTransport版本不兼容问题

问题详情

执行命令cd ios && pod update && pod install && cd -更新项目Pods时,触发以下依赖冲突错误:

[!] CocoaPods could not find compatible versions for pod "GoogleDataTransport":
  In Podfile:
    firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) was resolved to 15.1.0, which depends on
      Firebase/Messaging (= 11.0.0) was resolved to 11.0.0, which depends on
        FirebaseMessaging (~> 11.0.0) was resolved to 11.0.0, which depends on
          GoogleDataTransport (~> 10.0)

    mobile_scanner (from `.symlinks/plugins/mobile_scanner/ios`) was resolved to 5.2.2, which depends on
      GoogleMLKit/BarcodeScanning (~> 6.0.0) was resolved to 6.0.0, which depends on
        MLKitBarcodeScanning (~> 5.0.0) was resolved to 5.0.0, which depends on
          MLKitCommon (~> 11.0) was resolved to 11.0.0, which depends on
            GoogleDataTransport (< 10.0, >= 9.4.1)

已尝试以下操作但均无效,旧版本项目也出现相同问题:

  • 执行flutter clean
  • 删除pubspec.lock和podfile.lock
  • 更新CocoaPods:gem install cocoapods、pod repo update
  • 执行flutter pub get

当前依赖版本

firebase_core: ^3.4.0
  firebase_core_web: ^2.17.5
  firebase_messaging: ^15.1.0
  firebase_messaging_web: ^3.8.13
  mobile_scanner: ^5.2.2

Flutter版本

Flutter 3.24.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 80c2e84975 (5 weeks ago) • 2024-07-30 23:06:49 +0700
Engine • revision b8800d88be
Tools • Dart 3.5.0 • DevTools 2.37.2

解决方案

方法1:调整依赖版本(推荐)

冲突根源是两个插件对GoogleDataTransport的版本要求互斥:

  • firebase_messaging: ^15.1.0需要GoogleDataTransport ~>10.0
  • mobile_scanner: ^5.2.2需要GoogleDataTransport <10.0

可以二选一调整版本:

  1. 升级mobile_scanner:将mobile_scanner版本提升至≥6.0.0(该版本适配MLKit 7.x,支持GoogleDataTransport 10.x),修改pubspec.yaml后执行flutter pub get,再重新安装Pods。
  2. 降级firebase_messaging:将firebase_messaging版本降至^14.7.0(该版本依赖Firebase 10.x,对应GoogleDataTransport 9.x),修改后执行flutter pub get再安装Pods。

方法2:强制指定依赖版本(不推荐,可能引发潜在兼容问题)

在ios/Podfile中添加版本覆盖逻辑,强制使用符合双方要求的GoogleDataTransport版本(比如9.4.1):

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end

  # 强制设置GoogleDataTransport版本
  installer.pod_targets.each do |target|
    if target.name == 'GoogleDataTransport'
      target.version = '9.4.1'
    end
  end
end

修改后执行cd ios && pod install && cd -。

方法3:彻底清除缓存后重试

执行以下命令清理所有相关缓存,再重新安装:

rm -rf ~/Library/Caches/CocoaPods
rm -rf ios/Pods
rm ios/Podfile.lock
flutter clean
flutter pub get
cd ios && pod repo update && pod install && cd -

内容的提问来源于stack exchange,提问作者Heropolis Da2ny

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 14:37:15