React Native CLI iOS端react-native-video报错:RCTVideo未在UIManager中找到
解决React Native iOS中react-native-video的"RCTVideo未找到"报错
问题背景
React Native版本>0.60,CLI项目,iOS平台,使用最新版react-native-video时出现报错:
Invariant Violation: requireNativeComponent: "RCTVideo" was not found in the UIManager
已尝试重新安装pods,问题未解决。相关代码:
const videoUrl = 'https://www.w3schools.com/html/mov_bbb.mp4'; <Video source={{ uri: videoUrl }} style={vstyles.video} /> const vstyles = StyleSheet.create({ video: { width: '20%', height: moderateScale(300), marginTop: moderateScale(10), borderRadius: moderateScale(8), }, });
解决方案
1. 手动确认iOS项目的组件链接
RN 0.60+的自动链接偶尔会失效,需手动检查:
- 打开iOS项目的
.xcworkspace文件 - 在左侧导航栏的
Libraries目录下,确认是否存在RCTVideo.xcodeproj:- 若不存在,右键
Libraries→Add Files to "[你的项目名]",找到node_modules/react-native-video/ios/RCTVideo.xcodeproj并添加
- 若不存在,右键
- 进入项目的
Build Phases→Link Binary With Libraries,点击+号添加libRCTVideo.a
2. 彻底清理缓存并重构
- 清理Metro缓存:
npx react-native start --reset-cache - 清理iOS构建文件:
cd ios rm -rf build pod deintegrate pod install cd .. - 重新启动项目:
npx react-native run-ios
3. 验证组件导入与版本兼容性
- 确保组件导入正确:
import Video from 'react-native-video'; - 检查react-native-video版本与当前RN版本的兼容性:部分最新版可能仅适配RN 0.70+,若你的RN版本较低,需降级到对应兼容版本,例如:
npm install react-native-video@6.0.0 --save
4. 检查Xcode项目配置
- 确认项目的
Header Search Paths中包含$(SRCROOT)/../node_modules/react-native-video/ios,并设置为recursive - 若使用CocoaPods,确保
Podfile中已自动添加react-native-video的依赖(自动链接未处理时可手动加入)
内容的提问来源于stack exchange,提问作者Andrii Spivak
相关产品推荐
相关产品推荐

