原生iOS导入RN
1.在项目同级别目录新建 package.json(如果有则不需要),具体的依赖包会记录在 package.json 文件中,对于一个典型的RN项目来说,一般package.json和index.ios.js等文件会放在项目的根目录下。而iOS相关的源代码会放在一个名为 ios/ 的子目录中,这里同样放着Xcode项目文件(.xcodeproj)
2..安装依赖包
npm(node包管理器,Node package manager)来安装React和React Native模块。这些模块会被安装到项目根目录下的node_modules/目录中。
在Xcode项目路径 包含有package.json文件的目录(一般也就是项目根目录)中运行下列命令来安装:
$ npm install
3.在Xcode 项目中新建新建个group,把所有 需要用到的 proj都拖进去。依赖工程完成。
4.在原工程的Build Phases界面里的Link Binary With Libraries,点击最下面的+号,吧所有libRCT开头的.a都加进去。
5.在工程的TARGETS->Build Settings->Header Search Paths中添加一条"$(SRCROOT)/react/node_modules/react-native/React",选择recursive
6.在相中plist添加允许使用http访问App Transport Security Settings -> Allow Arbitrary Loads设置为YES
7.Build Settings -> Linking -> Other Linker Flags
添加编译条件-lc++,否则报错如下:
8. 在Build Settings -> Linking -> Other Linker Flags添加编译条件 -Objc 否则会报错 ‘NSInternalInconsistencyException'
9.在React-iOS -> TARGETS -> React-iOS -> Build Phases -> Link Binary Width Libraries中导入libz.1.1.3.tbd,libstdc++.tbd两个文件 解决 下面报错问题
10. 创建 index.ios.js(如果没有就创建)
11. 在项目中使用RN