Mac M1 Flutter报错:iPhone12 Pro Max启动失败、Flutter.h及cloud_firestore缺失
Flutter iOS构建报错解决方案
前置说明
开头的AMSupportURLConnectionDelegate类重复提示为Xcode 14及以上版本的已知警告,不会导致构建失败,无需专门处理,构建失败核心原因为依赖缺失及配置错误。
分步解决操作
1. 确认打开的是正确的Xcode项目文件
必须打开ios目录下后缀为.xcworkspace的工作空间文件,而非后缀为.xcodeproj的项目文件,否则无法识别pod安装的第三方依赖。
2. 全量清理并重新安装依赖
在Flutter项目根目录依次执行以下命令:
- 清理Flutter构建缓存:
flutter clean - 删除旧的iOS依赖配置:
rm -rf ios/Pods ios/Podfile.lock ios/Runner.xcworkspace - 重新拉取Flutter依赖:
flutter pub get - 重新安装iOS侧依赖:
若使用Intel芯片Mac,执行:
若使用M系列芯片Mac,先执行架构兼容配置,再安装依赖:cd ios && pod install --repo-updatesudo arch -x86_64 gem install ffi cd ios && arch -x86_64 pod install --repo-update
3. 修复Flutter.h not found错误
打开Xcode工作空间后,选中左侧导航栏的Runner项目,进入Build Settings标签页,做以下配置:
- 搜索
Excluded Architectures,在Debug、Release两个配置项下,都为Any iOS Simulator SDK添加值arm64 - 搜索
Other Linker Flags,确认列表中已经存在$(inherited)参数,没有则手动添加 - 搜索
iOS Deployment Target,将最低版本设置为12.0或更高,Firebase相关依赖要求iOS最低版本为12.0
4. 修复module 'cloud_firestore' not found错误
- 确认pubspec.yaml中所有Firebase家族依赖(cloud_firestore、firebase_core、firebase_analytics等)版本适配,无版本冲突,建议统一升级到官方最新稳定版
- 在Xcode顶部菜单栏选择
Product -> Clean Build Folder,清理Xcode构建缓存后重新运行项目
5. 兜底方案
若以上操作全部执行后仍报错,可尝试修改ios目录下的Podfile,将原有use_frameworks!配置修改为use_frameworks! :linkage => :static,之后重新执行pod install流程。
内容的提问来源于stack exchange,提问作者Rohit
相关产品推荐
相关产品推荐

