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

M1 Mac构建Flutter iOS项目报错'Flutter/Flutter.h'文件未找到

解决方案

第一步:全量清理项目缓存

  • 执行项目清理命令:flutter clean
  • 进入iOS目录:cd ios
  • 删除旧Pod相关文件:rm -rf Podfile.lock Pods Runner.xcworkspace
  • 清除Flutter全局Pub缓存:flutter pub cache clean
  • 回到项目根目录重新拉取依赖:flutter pub get

第二步:修正Podfile配置

打开ios/Podfile文件,做以下修改:

  1. 取消顶部platform注释,将iOS最低支持版本设置为12.0:
# 取消注释并修改为如下内容
platform :ios, '12.0'
  1. 替换末尾的post_install代码块为以下内容,适配M1架构编译规则:
post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
      # 排除模拟器不兼容的arm64、i386架构
      config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64 i386'
      # 统一所有依赖的最低iOS版本为12.0
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
    end
  end
end

第三步:适配M1架构安装Pod依赖

M1芯片需要通过x86_64架构安装ffi依赖后再执行Pod安装,避免隐藏的架构兼容问题:

  • 安装ffi依赖:sudo arch -x86_64 gem install ffi
  • 执行Pod安装更新:arch -x86_64 pod install --repo-update

第四步:修正Xcode构建设置

  • 打开iOS项目时必须选择Runner.xcworkspace文件,禁止打开Runner.xcodeproj
  • 选中左侧Runner项目,进入Build Settings页:
    • 搜索Excluded Architectures,Debug、Release模式下的模拟器SDK配置项均添加arm64
    • 搜索iOS Deployment Target,设置为12.0,和Podfile配置保持一致
  • 清空Xcode构建缓存:按下快捷键Command + Shift + Option + K确认清空所有缓存

第五步:重新构建项目

回到项目根目录执行flutter run -d ios,或直接在Xcode中点击运行按钮即可。

补充:如果依然报错,可先删除ios/Runner/GeneratedPluginRegistrant.h和ios/Runner/GeneratedPluginRegistrant.m两个文件,重新执行flutter pub get会自动生成新版本的注册文件,解决旧缓存导致的头文件引用错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 16:36:10