使用firebase_admob插件iOS模拟器编译失败:找不到FirebaseAdMobPlugin.h文件
解决iOS构建firebase_admob时头文件找不到的问题
我之前也碰到过这个一模一样的坑,折腾了好一阵才搞定,给你几个按优先级排序的解决方案,一步步试下来应该能解决:
先把你遇到的错误贴出来方便对照:
=== BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug ===
/Users/rkowase/StudioProjects/stopwatch/ios/Runner/GeneratedPluginRegistrant.m:6:9: fatal error: 'firebase_admob/FirebaseAdMobPlugin.h' file not found
#import <firebase_admob/FirebaseAdMobPlugin.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
Could not build the application for the simulator. Error launching...
1. 重新安装CocoaPods依赖
这是最常见的原因,Flutter插件安装后iOS端的Pod依赖可能没正确同步:
- 打开终端,cd到你的项目的
ios目录下 - 先执行
pod deintegrate彻底移除现有Pod依赖 - 然后执行
pod install重新安装所有依赖 - 注意:如果你的Podfile里
platform :ios的版本低于11.0,记得改成platform :ios, '11.0',firebase_admob对iOS版本有要求
2. 修复Xcode的头文件搜索路径
有时候Xcode的Build配置没正确引入插件的头文件路径:
- 用Xcode打开
ios/Runner.xcworkspace(一定要打开xcworkspace,不是xcodeproj) - 选中Runner目标,切换到
Build Settings标签页 - 搜索
Header Search Paths,检查是否包含以下两项:$(inherited)${PODS_ROOT}/Headers/Public/firebase_admob
- 如果没有,点击+号添加,并且把路径的设置改成
Recursive
3. 重新生成插件注册文件
GeneratedPluginRegistrant文件可能没正确生成或者损坏:
- 先删除
ios/Runner/GeneratedPluginRegistrant.m和ios/Runner/GeneratedPluginRegistrant.h这两个文件 - 回到终端,在项目根目录执行
flutter pub get,Flutter会自动重新生成这两个文件 - 之后再尝试构建项目
4. 清理所有缓存后重建
缓存问题也经常导致这类奇怪的构建错误:
- 项目根目录执行
flutter clean清理Flutter缓存 - Xcode里按
Cmd+Shift+K清理构建文件夹 - 重启Xcode,然后重新执行
flutter pub get和pod install,再尝试构建
5. 检查插件和Flutter版本兼容性
如果上面的方法都没用,可能是版本不兼容:
- 打开
pubspec.yaml,查看firebase_admob的版本,确认这个版本是否和你当前的Flutter版本兼容 - 如果版本太旧,执行
flutter pub upgrade firebase_admob升级到最新稳定版,然后重新安装Pod依赖
内容的提问来源于stack exchange,提问作者Rui Kowase
相关产品推荐
相关产品推荐

