Flutter 2项目引入firebase_core后编译报错Flutter/Flutter.h文件缺失
解决步骤
- 先执行Flutter层缓存清理:在项目根目录运行
flutter clean,清理完成后执行flutter pub get重新拉取依赖。 - 处理iOS端依赖缓存:进入项目ios目录,删除Podfile.lock文件、Pods文件夹、Runner.xcworkspace文件,依次运行
pod deintegrate、pod install --repo-update,后续打开项目必须使用Runner.xcworkspace,不可直接打开Runner.xcodeproj。 - 适配依赖版本:你的Flutter 2.0.6属于较早的空安全版本,当前使用的firebase_core 1.10.0和该版本Flutter存在兼容性问题,建议将pubspec.yaml中firebase_core的版本锁定为1.7.0,版本适配完成后重新执行上述依赖拉取操作。
- 检查Xcode配置:打开Runner.xcworkspace,进入Build Settings页面
- 搜索Framework Search Paths,确认存在
$(inherited)和$(SDKROOT)/Developer/Library/Frameworks两项,缺失则手动添加,两项的访问权限均设置为recursive - 搜索Excluded Architectures,确认模拟器和真机编译配置下均排除了arm64架构,避免架构冲突导致头文件识别失败
- 确认顶部运行的Scheme为Runner,而非任意第三方插件的Scheme
- 搜索Framework Search Paths,确认存在
- 兜底方案:如果以上操作均无效,备份项目代码后删除ios目录,在根目录执行
flutter create .重新生成iOS端配置,之后重新导入firebase对应的GoogleService-Info.plist配置文件,再执行pod install操作即可。
内容的提问来源于stack exchange,提问作者Programmer12
相关产品推荐
相关产品推荐

