Xcode构建React Native项目未生成pod依赖 报模块映射文件缺失错误
修复方案
这个报错是React Native 0.64搭配Xcode 13.x版本时,CocoaPods默认构建路径配置不兼容导致的依赖modulemap文件生成路径异常,按以下步骤操作即可解决:
1. 修改Podfile构建配置
打开ios/Podfile文件,找到post_install代码块,在块内添加如下配置,强制修正所有依赖的module生成规则和构建输出路径:
installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['DEFINES_MODULE'] = 'YES' config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'NO' config.build_settings['PODS_CONFIGURATION_BUILD_DIR'] = "${PODS_BUILD_DIR}/#{config.name}-${PLATFORM_NAME}" end end
如果你的post_install块里已经有react_native_post_install(installer)调用,把上面的代码加在这行调用的后面即可。
2. 清理并重装依赖
在终端进入项目ios目录,按顺序执行以下命令:
# 清理本地残留缓存 rm -rf Pods Podfile.lock pod deintegrate pod cache clean NextLevelSessionExporter --all # 重新安装依赖 pod install --repo-update
3. 调整Xcode构建设置
- 打开
ios/你的项目名.xcworkspace,选中主项目scheme,点击Edit Scheme - 进入
Build分类,取消勾选Parallelize Build选项,在Targets列表里把Pods相关的target拖动到主项目target上方,保证依赖优先编译 - 关闭Xcode,执行
killall Xcode确认进程完全退出,再重新打开项目执行构建
4. 特殊场景兜底
如果以上操作后仍报错,找到本地CocoaPods缓存里的NextLevelSessionExporter.podspec文件,确认spec里声明了module_name = 'NextLevelSessionExporter',缺失的话手动补全后再重新执行pod install。
不要通过修改DerivedData目录下的文件临时修复,这类修改会在下次构建时被覆盖,必须从Pod构建配置层面修正路径问题才能彻底解决。
内容的提问来源于stack exchange,提问作者lsilva
相关产品推荐
相关产品推荐

