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

M1 Mac升级Flutter依赖后iOS端CocoaPods依赖兼容问题

解决方案

1. 对齐Flutter Firebase插件与iOS Firebase SDK版本

Flutter的Firebase插件会绑定特定版本的iOS Firebase SDK,升级pub依赖后插件要求的SDK版本可能和CocoaPods源中可获取的版本不匹配,或是本地缓存干扰了版本检测:

  • 打开pubspec.yaml,核对所有Firebase相关插件(如firebase_core、firebase_in_app_messaging)的版本,确保插件间相互兼容。
  • 在iOS项目的Podfile顶部添加全局版本锁定,强制所有Firebase组件使用指定版本:
    $FirebaseSDKVersion = '10.20.0'
    
    然后在target 'Runner' do代码块中,修改Firebase组件的引用方式:
    pod 'Firebase/InAppMessaging', $FirebaseSDKVersion
    

2. 彻底清理M1环境下的缓存与依赖

之前的清理操作可能未覆盖M1专属的缓存路径,执行以下命令完成深度清理:

# 删除iOS目录下的Pods文件与锁定文件
rm -rf ios/Pods ios/Podfile.lock
# 删除CocoaPods全局缓存与源文件
rm -rf ~/Library/Caches/CocoaPods
rm -rf ~/.cocoapods/repos
# 清理Flutter项目缓存
flutter clean
flutter pub get
# 重新安装pod(M1设备需指定架构时使用)
arch -x86_64 pod install --repo-update

注:若使用Rosetta模式打开终端,直接执行pod install --repo-update即可。

3. 校验CocoaPods源的版本同步情况

CocoaPods的trunk源可能存在版本同步延迟,导致目标版本暂未上线:

  • 执行命令查看源中已有的Firebase/InAppMessaging版本:
    pod search Firebase/InAppMessaging
    
    若搜索结果中无10.20.0版本,需暂时降低Flutter插件版本,匹配CocoaPods已有的Firebase SDK版本。可在pub.dev上查询firebase_in_app_messaging的版本兼容说明,修改pubspec.yaml后重新执行flutter pub get与pod install。

4. 修正Xcode架构配置

M1设备的架构设置异常可能导致依赖拉取失败:

  • 打开iOS项目的Runner.xcworkspace,进入Runner target的Build Settings:
    • 将Architectures设置为Standard Architectures (arm64, x86_64)
    • 将Build Active Architecture Only的Debug模式设为Yes,Release模式设为No
  • 清理Xcode缓存(快捷键Cmd+Shift+K)后重新构建项目

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 16:00:06