React Native Navigation iOS安装报错:React/RCTRootView.h文件未找到
针对你使用的React Native 0.51.0 + React Native Navigation 1.1.428这个版本组合,这个头文件找不到的问题大概率是Xcode没正确识别React库的路径,或者Pod依赖的配置有遗漏,我整理了几个针对性的解决步骤,你可以一步步试:
1. 检查并修正Xcode的头文件搜索路径
打开你的Xcode项目,切换到Build Settings标签页:
- 找到
Search Paths下的Header Search Paths,确认里面已经包含这两个路径(没有的话就点+号添加):$(SRCROOT)/../node_modules/react-native/React,把后面的选项改成recursive$(SRCROOT)/../node_modules/react-native-navigation/ios,同样设置为recursive
- 顺便检查下
Library Search Paths,确保有$(SRCROOT)/../node_modules/react-native/React/Base和$(SRCROOT)/../node_modules/react-native-navigation/ios/lib这两个路径
2. 重新配置并安装Pod依赖
RN 0.51版本的Pod配置需要手动引入React的核心组件,你可以修改Podfile试试:
- 先删掉旧的Pod缓存:
rm -rf Podfile.lock Pods - 把你的Podfile改成下面这样(添加React和yoga的依赖):
source 'https://github.com/CocoaPods/Specs.git' platform :ios, '10.0' target 'MyApp' do # 引入React核心子组件,按需添加你需要的模块 pod 'React', :path => '../node_modules/react-native', :subspecs => [ 'Core', 'RCTText', 'RCTImage', 'RCTNetwork', 'RCTWebSocket' ] pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga' pod 'react-native-navigation', :path => '../node_modules/react-native-navigation' end - 然后重新安装Pods:
pod install --repo-update
3. 重新链接React Native Navigation
旧版本RN的自动链接偶尔会出问题,试试重新链接:
- 先取消之前的链接:
react-native unlink react-native-navigation - 再重新手动链接:
react-native link react-native-navigation - 回到Xcode,确认
Libraries文件夹下有ReactNativeNavigation.xcodeproj,并且Build Phases的Link Binary With Libraries里确实添加了libReactNativeNavigation.a
4. 清理缓存后重新构建
最后清理下Xcode的缓存,避免旧缓存影响:
- 用
Cmd + Shift + K清理项目 - 再去Xcode菜单的
Window->Projects里找到你的项目,删除对应的Derived Data - 重启Xcode,然后重新构建项目
如果还是不行,检查下你的项目目录结构,确保node_modules和ios文件夹是同级的(也就是项目根目录下同时有ios和node_modules),因为我们配置的路径用的是../node_modules,目录结构不对的话也会找不到文件。
内容的提问来源于stack exchange,提问作者webmastx
相关产品推荐
相关产品推荐

