XCode 14中React Native项目构建/归档失败:找不到EXAV框架
解决Xcode 14构建React Native项目时"framework not found EXAV"的问题
问题场景
升级macOS Ventura(13.0)和Xcode 14.0后,通过命令行运行React Native 0.64.3应用正常,但在Xcode中构建或归档时,出现错误:
framework not found "EXAV"
解决步骤
1. 重置CocoaPods依赖
EXAV是expo-av模块对应的iOS框架,先确保Pods依赖正确集成:
- 进入项目的
ios目录 - 删除
Pods文件夹和Podfile.lock文件 - 执行命令清理Pods集成:
pod deintegrate - 重新安装Pods:
pod install - 打开Xcode,执行
Cmd+Shift+K清理构建缓存,再执行Cmd+Option+Shift+K清理构建文件夹
2. 检查Xcode框架搜索路径
确保Xcode能正确定位EXAV.framework:
- 在Xcode中选中项目target,进入
Build Settings标签页 - 搜索
Framework Search Paths - 确认列表中包含
$(inherited)和$(PROJECT_DIR)/Pods/ExpoAV(路径需根据实际Pods安装位置调整,确保指向ExpoAV的框架目录) - 若路径缺失,点击
+添加上述路径,并设置为recursive
3. 验证框架链接状态
- 在Xcode的target设置中,进入
General标签页,查看Linked Frameworks and Libraries - 确认
EXAV.framework已被添加(通常由CocoaPods自动管理,若缺失可手动从ios/Pods/ExpoAV目录添加) - 检查
Other Linker Flags(Build Settings中),确保包含$(inherited),这会自动引入Pods的链接配置
4. 适配Xcode 14构建特性
Xcode 14对框架集成有部分变更,需调整以下设置:
- 在Build Settings中搜索
Always Embed Swift Standard Libraries,设置为Yes(EXAV依赖Swift标准库) - 检查
Architectures设置,确保为Standard Architectures (arm64, x86_64)(适配M1芯片的通用架构) - 将
Build Active Architecture Only在Release模式下设置为No(归档时需要构建全架构)
5. 确认依赖版本兼容性
React Native 0.64.3属于较旧版本,需确保expo-av版本与RN版本及Xcode 14兼容:
- 查看
package.json中的expo-av版本,建议升级到适配RN 0.64且支持Xcode 14的版本(比如~10.2.1) - 升级后重复步骤1的Pods重置操作
内容的提问来源于stack exchange,提问作者Ubaid
相关产品推荐
相关产品推荐

