1.新建iOS应用, 并创建一个UIViewController, 指定为window的跟视图控制器
2.使用cocoapods
vim Podfile
platform :ios, '7.0'
pod 'AFNetworking'
然后pod install
完成之后的工程目录和文件目录如下:
3.安装react-native
我们在项目中建一个名为reactnative的文件夹, 用于存放我们react-native的相关文件, 再创建一个.packagejson文件, 用于初始化react-native.
在终端执行安装, $cd reactnative $npm install
安装成功后,reactnative目录会产生一个node_modules,里面就是react-native依赖的所有项目包。
4.在reactnative目录下创建 index.ios.js
文件:
这就是我们js程序的入口文件, ok,以上我们已经完成react-native的准备工作,接下来要开始集成啦~
5.Cocoapods集成react-native
在Podfile文件中加上
取决于你的工程如何组织,你的node_modules文件夹可能会在别的地方。
请将:path后面的内容修改为正确的路径。
pod 'React', :path => './reactnative/node_modules/react-native', :subspecs => [
'Core',
'RCTNetwork',
'RCTText',
'RCTWebSocket',
添加其他你想在工程中使用的依赖。
]
记得要添加所有你需要的依赖。举例来说,<Text>元素如果不添加RCTText依赖就不能运行
依赖文件安装进入工程目录,执行 $ pod install ,就完成了react-native工程包的集成。
此时目录结构是:
6.在ViewController.m文件夹中:
7.启动开发服务器
在运行我们的项目之前,我们需要先启动我们的开发服务器。进入 reactnative目录 ,然后启动。 $ cd reactnative $ react-native start
运行项目界面如下:
8、更新App Transport Security
直接运行项目会报 Could not connect to development server 错误,官网中有这段话:
在iOS 9以上的系统中,除非明确指明,否则应用无法通过http协议连接到localhost主机。 我们建议你在Info.plist文件中将localhost列为App Transport Security的例外。 如果不这样做,在尝试通过http连接到服务器时,会遭遇这个错误 - Could not connect to development server.
打开工程中的 Info.list 文件,添加下面配置即可:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>