Flutter iOS构建报错'Flutter/Flutter.h'文件未找到,常规方案无效求帮助
Flutter iOS构建'Flutter/Flutter.h'未找到报错解决方案
1. 统一iOS部署目标版本
该报错绝大多数是项目iOS最低部署版本不匹配导致,需修改三处配置:
- 打开Xcode中Runner项目,进入
General-Deployment Info,将iOS版本调整为11.0及以上 - 打开项目
ios/Podfile文件,取消顶部# platform :ios, '9.0'的注释,将版本号修改为和上面一致的11.0及以上 - 在Podfile末尾添加如下配置,强制所有Pod的部署版本和项目统一:
post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0' end end end
配置修改完成后,依次执行以下命令:
flutter clean rm -rf ios/Pods ios/Podfile.lock flutter pub get cd ios && pod install --repo-update
之后重新运行项目即可。
2. 重新生成iOS原生目录
如果是旧项目升级Flutter版本后出现的该问题,可通过重建原生目录解决:
- 备份
ios目录下的自定义配置(比如Info.plist的权限声明、Podfile的自定义配置、签名配置等) - 删除项目根目录下的
ios文件夹 - 根目录执行命令重新生成iOS项目:
- 原来用Swift开发原生部分:
flutter create -i swift . - 原来用OC开发原生部分:
flutter create -i objc .
- 原来用Swift开发原生部分:
- 将备份的自定义配置移回新生成的ios目录,重新执行构建流程即可。
3. 修复Flutter SDK异常
如果上述操作无效,可能是Flutter SDK的iOS组件损坏,执行以下命令修复:
flutter doctor -v # 若检测到SDK异常,执行修复命令 flutter repair # 切换到稳定版频道避免测试版问题 flutter channel stable flutter upgrade
4. M系列芯片Mac额外操作
如果你使用的是Apple Silicon芯片的Mac,额外做如下配置:
- 打开Finder-应用程序,右键点击Xcode选择「显示简介」
- 勾选「使用Rosetta打开」,重启Xcode后重新构建
5. 清理Pub缓存
如果仍提示path_provider相关错误,删除本地缓存的插件包后重新拉取:
rm -rf ~/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0.5 flutter pub get
内容的提问来源于stack exchange,提问作者Sulfy
相关产品推荐
相关产品推荐

