Flutter项目安卓可运行、iOS模拟器Xcode可运行但flutter run/VS Code运行失败
根本原因
- 初始
flutter run运行报错:项目ios目录下的Podfile没有统一配置所有Pods依赖的最低部署版本,第三方依赖默认采用了8.0的最低版本,而你当前使用的Xcode版本支持的iOS模拟器最低部署版本为9.0,版本范围不匹配触发报错。 - 修改配置后出现
Flutter/Flutter.h缺失报错:旧的解决方案操作过程中错误修改了Flutter引擎相关的Pod配置,或是执行pod相关操作后没有同步清理Flutter本地构建缓存。Xcode直接打开Runner.xcworkspace运行时,会自动补全Flutter引擎的头文件搜索路径,因此可以正常运行;但flutter run调用的命令行构建逻辑校验更严格,不会自动补全该路径,因此报头文件缺失错误。 - VS Code运行Flutter iOS项目默认调用
flutter run命令行逻辑,因此会复现命令行运行的错误,和Xcode的构建逻辑存在差异。
可行修复步骤
- 打开ios目录下的Podfile,确认顶部的
platform :ios, '9.0'配置已打开(去掉前面的#注释),版本设置为9.0及以上 - 在Podfile末尾添加以下配置,统一所有Pods依赖的部署版本:
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'] = '9.0' end end end
- 回到项目根目录依次执行以下命令:
flutter clean rm -rf ios/Pods ios/Podfile.lock flutter pub get cd ios && pod install
- 重新执行
flutter run即可正常运行
内容的提问来源于stack exchange,提问作者Sras
相关产品推荐
相关产品推荐

