You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Expo集成react-native-vision-camera构建失败求助

React Native Expo构建失败(react-native-vision-camera相关)

环境版本

  • react-native: 0.71.6
  • expo: ~48.0.10
  • react-native-vision-camera: ^2.15.4

已尝试的无效操作

  • 启用Hermes
  • 禁用Hermes
  • 修改node_modules/react-native-vision-camera/ios/React Utils/MakeJSIRuntime.h内容为#include <React_jsc/JSCRuntime.h>

当前构建错误

The following build commands failed: ▸   Ld /Users/expo/Library/Developer/Xcode/DerivedData/xxxx/Build/Intermediates.noindex/ArchiveIntermediates/xxxxx/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/VisionCamera.framework/VisionCamera normal (in target 'VisionCamera' from project 'Pods')

解决思路与方案

1. 对齐版本兼容性

react-native-vision-camera v2.15.4和Expo 48的适配可能存在问题。Expo 48对应React Native 0.71.x,建议查vision-camera官方文档确认适配Expo 48的稳定版本,尝试调整版本:

# 示例:降级到经社区验证适配Expo48的版本(需确认具体版本号)
npm install react-native-vision-camera@2.14.0

2. 彻底清理构建缓存

缓存冲突是这类构建问题的常见诱因,执行以下操作清理:

  • 清理iOS Pod依赖:
cd ios && pod deintegrate && pod cache clean --all && pod install
  • 清理Expo缓存:
expo r -c
  • 清理Xcode构建缓存:打开Xcode,按Cmd+Shift+K执行Clean Build Folder

3. 检查iOS构建配置

  • 打开Xcode项目,进入VisionCamera target的Build Settings,确认Framework Search Paths包含正确的依赖路径,Other Linker Flags添加-ObjC
  • 确保项目iOS部署目标版本≥13.0(vision-camera v2.x的最低要求)

4. 重新生成原生项目

使用Expo预构建工具重新生成适配的原生文件:

expo prebuild --clean

同时检查app.json中相机权限配置是否完整:

{
  "ios": {
    "infoPlist": {
      "NSCameraUsageDescription": "需要访问相机完成拍摄/扫描功能"
    }
  }
}

5. 修复JSIRuntime头文件引用

如果之前的头文件修改无效,尝试替换为React Native 0.71.x的正确引用路径:
将MakeJSIRuntime.h内容改为#include <ReactCommon/JSCRuntime/JSCRuntime.h>,修改后重新执行pod install并清理缓存。


内容的提问来源于stack exchange,提问作者im_94

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 07:05:17