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

Flutter引入firebase_messaging后报agora_rtc_engine未找到错误如何解决

问题根因

该报错属于iOS端Pod依赖冲突问题,新增firebase_messaging依赖后修改了Pod全局编译规则,覆盖了agora_rtc_engine的依赖生效配置,此前agora功能正常说明原生代码本身无问题,冲突点集中在Pod依赖配置和版本适配层面。

解决步骤
  • 清理本地缓存与旧依赖
    执行以下命令清理全部缓存和无效的Pod文件:
    flutter clean && rm -rf ios/Pods ios/Podfile.lock ios/Runner.xcworkspace
    执行完成后运行flutter pub get重新拉取Dart侧依赖。
  • 修正Podfile配置
    打开项目ios目录下的Podfile,调整两处配置:
    1. 将顶部的platform :ios, 'xx.0'版本修改为13.0或更高,agora_rtc_engine 4.x+版本最低要求iOS 12.0,最新版firebase_messaging最低要求iOS 13.0,二者版本需要统一
    2. 如果你的Podfile中配置了全局静态编译规则use_frameworks! :linkage => :static,需要在target 'Runner'块内单独给agora_rtc_engine添加模块化头文件配置,示例如下:
    target 'Runner' do
      use_frameworks! :linkage => :static
      # 新增下方agora配置行
      pod 'agora_rtc_engine', :path => '.symlinks/plugins/agora_rtc_engine/ios', :modular_headers => true
      # 其余原有配置保持不变
    end
    
  • 重新安装Pod依赖
    进入ios目录执行以下命令拉取最新的原生依赖:
    pod install --repo-update
    如果执行提示权限不足,可在命令前加sudo执行。
  • Xcode配置校验
    打开Runner.xcworkspace文件(请勿打开后缀为.xcodeproj的文件,会导致依赖不生效),检查两处配置:
    1. 进入Runner项目的Build Settings面板,搜索iOS Deployment Target,确认所有Target的版本和Podfile中设置的iOS版本完全一致
    2. 搜索Other Linker Flags,确认配置项中存在-ObjC,如果没有则手动添加
  • 编译验证
    回到项目根目录执行flutter run重新编译项目,依赖找不到的问题即可解决。
特殊情况兼容

如果上述步骤执行后仍有报错,将agora_rtc_engine和firebase_messaging都升级到对应大版本的最新稳定版,避免两个插件的原生依赖版本不兼容。

内容的提问来源于stack exchange,提问作者Damini Bharat Jadhav

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 13:06:06