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

升级Xcode 13与Flutter 2.5.1后iOS编译报错:'Flutter/Flutter.h'文件未找到

解决Xcode 13 + Flutter 2.5.1 iOS构建时'Flutter/Flutter.h'找不到的问题

根据你描述的情况,我之前也碰到过类似的版本兼容坑,以下几个方案可以逐一尝试,应该能解决你的问题:

1. 检查Xcode中Runner目标的路径配置

这是最常见的原因——Xcode没能正确找到Flutter的头文件和框架路径:

  • 打开iOS项目的Runner.xcworkspace
  • 选中Runner target,切换到Build Settings标签页
  • 搜索Header Search Paths,确保以下路径存在(没有的话就点击+添加):
    • $(inherited)
    • ${FLUTTER_ROOT}/flutter/bin/cache/artifacts/engine/ios/**(末尾的**表示递归搜索所有子目录)
  • 同样搜索Framework Search Paths,确保包含:
    • $(inherited)
    • ${FLUTTER_ROOT}/flutter/bin/cache/artifacts/engine/ios

添加完成后,用Cmd+Shift+K清理项目,再重新构建试试。

2. 升级wakelock插件到兼容版本

你当前使用的wakelock 0.5.2版本,很可能和Flutter 2.5.1、Xcode 13存在兼容性冲突:

  • 打开项目根目录的pubspec.yaml,把wakelock的版本更新为最新稳定版(比如wakelock: ^0.6.2,可以直接看pub上的最新兼容版本)
  • 执行flutter pub get拉取新依赖
  • 进入ios目录,依次执行pod deintegrate和pod install
  • 回到项目根目录执行flutter clean,再重新构建

3. 校验Flutter iOS工具链完整性

有时候升级过程中Flutter的缓存或工具链会出现损坏:

  • 执行flutter doctor -v,仔细查看iOS相关的输出,看是否有红色错误提示
  • 如果有异常,执行flutter doctor --ios让Flutter自动修复iOS配置
  • 再补一次flutter cache repair,确保缓存文件完整

4. 手动添加Flutter.framework到项目

如果上面的方法都没效果,可以手动把Flutter框架引入项目:

  • 在Xcode的项目导航栏里,右键点击Runner -> Add Files to "Runner"
  • 导航到你的Flutter SDK目录,找到flutter/bin/cache/artifacts/engine/ios/Flutter.framework
  • 勾选Copy items if needed,并且确保Add to targets选择了Runner
  • 完成后清理项目再重新构建

另外,你之前修改的Podfile的post_install代码可以保留,它解决了部署目标的问题,和头文件找不到的问题不冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 14:27:31