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

iOS原生项目集成Flutter模块提示No such module 'FlutterPluginRegistrant'如何解决

iOS集成Flutter模块No such module 'FlutterPluginRegistrant' 解决方案

前置检查

  • 确认执行完pod install后,打开的是项目的.xcworkspace文件,而非原始的.xcodeproj文件,后者无法识别Pod引入的依赖库。

针对官方自动集成(使用podhelper.rb)场景

  • 首先在你的Flutter模块根目录执行以下命令,重新生成 Flutter 依赖产物:
    flutter clean
    flutter pub get
    flutter build ios --debug # 如果编译Release环境则替换为 --release
    
  • 检查原生项目的Podfile配置是否正确,必须引入podhelper.rb且开启use_frameworks!,示例配置如下:
    # 替换为你的Flutter模块相对/绝对路径
    flutter_module_path = '../flutter_demo_module'
    load File.join(flutter_module_path, '.ios', 'Flutter', 'podhelper.rb')
    
    target '你的原生AppTarget名' do
      use_frameworks! # 必须开启,否则无法识别Swift模块
      install_all_flutter_pods(flutter_module_path)
    end
    
  • 配置无误后,删除原生项目下的Podfile.lock和Pods目录,重新执行Pod安装:
    pod install --repo-update
    
  • 检查Xcode Build Settings 中的配置:
    • Framework Search Paths 需包含Flutter模块下.ios/Flutter对应的编译环境目录
    • Excluded Architectures 配置和Flutter模块保持一致,避免架构冲突导致产物无法识别

针对手动打包Flutter Framework集成场景

  • 确认你打包导出的Flutter产物中包含FlutterPluginRegistrant.framework
  • 将该framework拖入原生项目后,需在Build Phases -> Embed Frameworks中添加该framework,设置为Embed & Sign

通用清理方案

如果以上配置都确认无误仍报错,按以下顺序操作后重试:

  1. 关闭Xcode
  2. 执行rm -rf ~/Library/Developer/Xcode/DerivedData 清理Xcode缓存
  3. 重新打开.xcworkspace编译

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:00:03