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

Flutter iOS CocoaPods找不到Firebase/Messaging兼容版本

Flutter iOS Firebase依赖冲突+ffi架构报错解决方案

1. 优先修复ffi架构不兼容问题

该问题是M系列芯片Mac常见的Ruby ffi组件编译架构不匹配问题,按顺序执行以下终端命令:

  • 卸载本地所有已安装的ffi版本
gem uninstall ffi

执行过程中如果提示选择版本,直接输入all回车全量卸载。

  • 以arm64e架构重新编译安装ffi
sudo arch -arm64e gem install ffi -- --enable-libffi-alloc
  • 验证安装结果
file $(gem which ffi_c.bundle)

输出内容包含arm64e架构标识即为修复成功。

2. 解决Firebase SDK版本冲突

冲突核心原因是旧锁定文件残留版本记录+Notification扩展target未指定Firebase版本导致拉取不匹配版本,按以下步骤操作:

  • 进入iOS工程目录,全量清理旧CocoaPods缓存与关联文件
cd ios
rm -rf Pods Podfile.lock ~/Library/Caches/CocoaPods
pod deintegrate
  • 修改Podfile配置统一Firebase版本约束
    1. 在Podfile最顶部添加全局版本变量,和firebase_core、firebase_messaging要求的8.15.0版本对齐:
    $FirebaseSDKVersion = '8.15.0'
    
    1. 找到ImageNotification扩展对应的target配置块,将未指定版本的pod 'Firebase/Messaging'修改为引用全局版本变量,避免单独拉取不一致版本:
    target 'ImageNotification' do
      use_frameworks! :linkage => :static
      pod 'Firebase/Messaging', $FirebaseSDKVersion
    end
    
    不要在主Runner target或其他子target中单独声明Firebase相关依赖的版本号,统一使用全局变量约束,所有Flutter Firebase插件会自动适配该指定版本。
  • 重新拉取安装依赖
pod install --repo-update

如果仍提示版本冲突,追加执行指定组件更新命令:

pod update Firebase/Core Firebase/Messaging

3. 结果校验

安装完成后打开Podfile.lock文件,搜索Firebase/Messaging条目,确认主Runner target、ImageNotification扩展target对应的依赖版本均为8.15.0即为版本对齐成功。回到Flutter工程根目录执行flutter clean && flutter pub get后即可正常构建运行。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 07:24:24