Flutter构建iOS时缺失GeneratedPluginRegistrant.h文件求助
解决Flutter iOS构建时
GeneratedPluginRegistrant.h缺失的问题 可行修复步骤
1. 强制生成Flutter iOS配置文件
执行以下命令触发Flutter生成包括注册文件在内的核心配置文件,无需完成完整构建:
flutter build ios --config-only
2. 检查Xcode头文件搜索路径
打开ios/Runner.xcworkspace,进入Runner Target的Build Settings:
- 找到
Header Search Paths选项 - 确保已包含以下路径(若缺失则手动添加):
$(inherited) "${SRCROOT}/Flutter" "${SRCROOT}/Pods/Headers/Public"
3. 彻底清理重置构建环境
执行这套完整的清理重置流程,消除缓存或残留文件的影响:
# 清理Flutter项目缓存 flutter clean # 删除iOS侧Pod相关残留文件 rm -rf ios/Pods ios/Podfile.lock ios/Runner.xcworkspace # 重新获取Flutter依赖 flutter pub get # 重置iOS Pod依赖 cd ios pod deintegrate pod install cd ..
4. 调整Podfile兼容性配置
若项目非必须使用模块化框架,可临时注释以下两行配置,部分插件对该配置存在兼容问题:
# use_frameworks! # use_modular_headers!
修改后重新执行pod install,再尝试构建。
5. 手动创建注册文件
若上述方法均无效,可手动创建缺失文件:
- 在
ios/Runner目录下创建GeneratedPluginRegistrant.h:#import <Foundation/Foundation.h> #import <Flutter/Flutter.h> NS_ASSUME_NONNULL_BEGIN @interface GeneratedPluginRegistrant : NSObject + (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry; @end NS_ASSUME_NONNULL_END - 同目录下创建
GeneratedPluginRegistrant.m:#import "GeneratedPluginRegistrant.h" @implementation GeneratedPluginRegistrant + (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry { // 后续构建时Flutter会自动填充插件注册代码 } @end
创建完成后重新执行flutter build ios即可。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

