前面的各种环境配置按照官方文档一步一步来,挺详细,宝宝在这里就不多说废话了。
其次,前面的配置,我参照的这个博主的文章React Native 集成到iOS原生项目
下面是宝宝掉过的坑(半径15M):
终端报出的warning一定要重视:
官网上似乎漏掉了react的安装,如果之前没有安装过。
命令行:npm i react@15.2.1 --save我安装过程中,大部分的警告是有有些东西没有更新。根据具体的warning去问度娘,这里就不一一列举了。
cocopod安装过程Podfile记得在终端中用命令vim编写,否则很可能会出现引号的错误。宝宝在这里卡了一次部门聚餐的时间。
React Native原生项目集成发布版生成步骤
将原生集成的controller文件中的
NSString * strUrl = @"http://localhost:8081/index.ios.bundle?platform=ios&dev=true";
注释-
反注释
NSURL * jsCodeLocation = [[NSBundle mainBundle]URLForResource:@"main" withExtension:@"jsbundle"];
没有自己写一个出来。
3. 运行命令行
```
react-native bundle --dev false --entry-file /Users/wust_zxl/Desktop/project_ing/MobileOA111/MobileOA/ReactComponent/index.ios.js --bundle-output main.jsbundle --assets-dest /Users/wust_zxl/Desktop/project_ing/MobileOA111/MobileOA/ReactComponent/
其中, ```/Users/wust_zxl/Desktop/project_ing/MobileOA111/MobileOA/ReactComponent/index.ios.js```是index.ios.js的目录,```/Users/wust_zxl/Desktop/project_ing/MobileOA111/MobileOA/ReactComponent/```是放react native配置文件的文件目录,根据自己的情况修改。。。
这个坑本宝宝用了一场乒乓球半决赛的时间。之前一直忘了添加后边的--assets-dest
命令,熟悉了iOS图片调用机制就不难理解了。
4. 第三部会生成一个main.jsbundle(命令行output取名),用xcode打开本项目,将其拖入项目中,这步很关键,[NSBundle mainBundle]获取的是xcode工程中的文件路径,而有些文件在xcode工程中找不到,拖进的main.jsbundle会指向该文件