前言
既然是Xcode升级导致的RN项目问题,这里我就先列出我的使用环境。
MacOS Mojave Version 10.14.2
Xcode: Version 10.1
react-native": "0.54.3
react": "16.3.0-alpha.1
为了对比找错新建的项目也同样的版本和环境
错误修改记录
1. 'React/RCTEventEmitter.h' file not found
报错如下
解决方法
之前扒拉网上的一种说法是关于React/RCT。。。.h
文件找不到的话,就要先选择React
进行clean,然后编译,最后再回到本身项目中运行,这种方法我尝试了,确实很有用,但是当打包上传的时候就出现问题了,总是编译不过,经过多方查找资料以及自己重新创建RN项目进行对比分析,得出了以下的解决方法(图文结合说了,纯文字忒难表述了,从上到下依次来就行了):
点击Product的时候要确定当前是在本身项目中,而不是在引入的项目中,如果是在本身项目中,就点击Edit Scheme...,否则的话点击Manage Schemes...,然后双击本身项目,同样能到达图3所示图中。
到这里设置就完成了,然后再编译运行即可(一般情况下就碰到下面的报错了)
2. 'React/RCTEventEmitter.h' file not found
报错如下
如果报错是关于tirid-party 'config.h' file not found也同样是以下的解决方法
解决方法
- 打开终端,进入项目根目录下,执行以下命令:
cd node_modules/react-native/third-party/glog-0.3.4
- 继续执行以下命令:
../../scripts/ios-configure-glog.sh
通过上面两个步骤即可解决此问题(前提是命令执行成功)
3. RCTHttpCache报错 Redefinition of 'RCTMethodInfo'
报错如下
上面的只是部分截图,总之错误多达16个
解决方法
4. WebSocket/libfishhook.a file cannot be found
报错如下
解决方法
后话
这两天因为Xcode升级修改问题碰到的问题不仅仅只有上面提到的几个,但是有些问题以及解决方案我也给忘了(从git上拉下来的存档使用以上几个方法就解决了,可能之前碰到的问题没有用到对的解决方法罢了),这里仅仅就本次Xcode升级碰到的几个经典问题的一个记录,以便能够帮助更多的人,也为了我这个记性不好的人