Xcode归档Expo ejected的React Native项目时遇头文件缺失错误
解决Xcode归档Expo Ejected React Native项目的模块依赖错误
针对你遇到的ExpoModulesCore/EXAppDelegatesLoader.h、React/CoreModulesPlugins.h文件缺失以及ExpoModulesCore模块构建失败问题,尝试以下步骤修复:
1. 彻底清理构建缓存
- 关闭Xcode,执行终端命令删除Derived Data:
rm -rf ~/Library/Developer/Xcode/DerivedData - 重新打开Xcode,按下
Cmd+Shift+K清理Build Folder。
2. 重新安装依赖与Pods
- 删除项目根目录下的
node_modules、package-lock.json(或yarn.lock); - 执行
npm install(或yarn install)重新安装JS依赖; - 进入
ios目录,删除Podfile.lock和Pods文件夹; - 依次执行以下命令重置Pods:
pod deintegrate pod install - 确保CocoaPods版本与项目兼容,若有必要更新CocoaPods至最新稳定版:
sudo gem install cocoapods。
3. 检查Xcode项目配置
- 打开项目的Build Settings,找到
Header Search Paths,添加以下路径并设置为Recursive:$(SRCROOT)/Pods/Headers/Public/ExpoModulesCore$(SRCROOT)/Pods/Headers/Public/React-Core
- 确认
Pods项目已正确包含在Xcode Workspace中,未被误删除; - 检查
Pods目录下是否存在ExpoModulesCore文件夹,确认该Pod已成功安装。
4. 验证Expo Eject后的配置一致性
- 检查
AppDelegate.mm(或.m)文件中导入的Expo模块头文件拼写正确,无语法错误; - 确保
Podfile中明确声明了pod 'ExpoModulesCore',且版本与package.json中expo-modules-core的版本一致; - 核对
package.json中react-native版本与Expo相关依赖版本兼容,避免版本冲突。
5. 正确执行归档操作
- 在Xcode中选择Generic iOS Device或已连接的真机作为构建目标,不要选择模拟器;
- 将Scheme切换至Release模式,再执行归档操作(
Product > Archive)。
如果以上步骤仍未解决问题,建议对比官方Expo eject后的示例项目配置,检查是否有遗漏的设置项。
内容的提问来源于stack exchange,提问作者Sabir Moglad
相关产品推荐
相关产品推荐

