升级iOS 17.2后React Native运行报错Code 65:缺失FirebaseCoreInternal.modulemap
React Native 项目升级 iOS 17.2 后找不到 FirebaseCoreInternal.modulemap 错误(错误码65)
解决方案
1. 调整 Podfile 中 Firebase 依赖的模块化头配置
手动指定多个Firebase子库的:modular_headers => true会在iOS 17.2环境下引发编译路径冲突,修改pod_share方法,将单个子库的模块化配置替换为仅主库启用,让CocoaPods自动处理子依赖:
def pod_share config = use_native_modules! flags = get_default_flags() # 仅保留Firebase主库的模块化头配置,移除其他子库的手动设置 pod 'Firebase', :modular_headers => true pod 'WatermelonDB', :path => '../node_modules/@nozbe/watermelondb' pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi', :modular_headers => true pod 'simdjson', path: '../node_modules/@nozbe/simdjson' use_react_native!( :path => config[:reactNativePath], :hermes_enabled => false, :fabric_enabled => flags[:fabric_enabled], :app_path => "#{Pod::Config.instance.installation_root}/.." ) end
2. 移除强制设置的部署目标
强制将所有Pod的部署目标设为17.2会和React Native默认的最低版本逻辑冲突,注释或删除Post Install中的这段代码:
# 注释或删除以下代码块 # installer.pods_project.targets.each do |target| # target.build_configurations.each do |config| # puts "===EXECUTE SET IOS DEPLOYMENT TARGET" # config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '17.2' # end # end
3. 重新执行清理与依赖安装
运行以下命令彻底清理旧缓存并重新安装依赖:
watchman watch-del-all && rm -rf ~/Library/Developer/Xcode/DerivedData/ && rm -rf node_modules/ && rm -f yarn.lock && rm -rf ios/build/ && rm -rf ios/Pods/ && rm -f ios/Podfile.lock && yarn install && cd ios && pod install --repo-update && cd ..
4. 校验Xcode中的Module Map路径(备选)
若以上步骤无效,打开Proj.xcworkspace:
- 找到
FirebaseCoreInternal目标 - 进入Build Settings > Packaging
- 检查
Module Map File路径是否指向Pods/FirebaseCoreInternal/FirebaseCoreInternal.modulemap,而非build/目录下的错误路径
问题原因
iOS 17.2的Xcode编译环境对模块化头文件的处理逻辑有更新,手动指定多个Firebase子库的模块化配置会导致CocoaPods生成的编译路径错位;加上强制设置过高的部署目标,进一步触发了modulemap文件找不到的编译错误。
内容的提问来源于stack exchange,提问作者newbie
相关产品推荐
相关产品推荐

