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

Flutter iOS模拟器运行报错'Flutter/Flutter.h' file not found求解

Flutter编译iOS模拟器报错:'Flutter/Flutter.h' file not found 解决方案

问题背景

  • 编译运行Flutter应用到iOS模拟器时抛出错误,核心报错行:GeneratedPluginRegistrant.h:10:9: 'Flutter/Flutter.h' file not found
  • 已尝试操作:执行pod clean、重装Pods依赖,问题未修复
  • 环境信息:
    • Flutter 2.10.4
    • Xcode 13.3.1 (13E500a)
  • 报错截图:

解决步骤

按顺序执行,每步完成后可尝试编译,通过即可终止后续操作:

  1. 清理Flutter全量构建缓存
    在项目根目录终端执行:
    flutter clean
    flutter pub get
    
  2. 重置iOS端Pods依赖
    进入项目iOS子目录,执行以下命令完全重置Pods环境:
    cd ios
    rm -rf Pods Podfile.lock Runner.xcworkspace
    pod deintegrate
    pod repo update
    pod install
    
    注意:后续打开Xcode操作时,必须打开Runner.xcworkspace文件,不要打开Runner.xcodeproj,否则会出现依赖找不到的问题
  3. 校验Xcode头文件搜索路径配置
    • 打开Runner.xcworkspace,选中Runner主target,进入Build Settings页,搜索Header Search Paths
    • 确保存在以下两个路径配置,且右侧选项设置为recursive:
      • $(SRCROOT)/Pods/Headers/Public
      • $(FLUTTER_ROOT)/bin/cache/artifacts/engine/ios
    • 不要手动将Flutter引擎相关文件拖入Xcode项目,会破坏原有路径映射
  4. 修复Flutter 2.10与Xcode 13.3的兼容配置
    打开iOS目录下的Podfile文件,找到post_install代码块,补充架构与部署版本配置,参考如下:
    post_install do |installer|
      installer.pods_project.targets.each do |target|
        flutter_additional_ios_build_settings(target)
        target.build_configurations.each do |config|
          # 固定最低部署版本,避免Pods与主项目版本不一致
          config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
          # 清空模拟器架构排除项,避免x86_64架构下找不到Flutter引擎头文件
          config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = ''
        end
      end
    end
    
    修改保存后,回到iOS目录重新执行pod install,返回项目根目录执行flutter run即可正常编译。

踩坑提醒:GeneratedPluginRegistrant.h和GeneratedPluginRegistrant.m是Flutter构建时自动生成的文件,不要手动修改这两个文件的内容,手动改动会在下次构建时被覆盖,无法解决根本问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 11:45:52