一、准备工作
1. React Native 开发基础环境
这个可以直接参考我写的第二篇文章React Native 环境搭建和创建项目(Mac)。如果已经按上篇文章操作过,或者说已经在Mac平台已经成功运行过React Native应用,那肯定是已经有了开发基础环境,可以直接忽略这一步。
1) 安装Node.js
方式一:
安装 nvm(安装向导在这里)。然后运行命令行如下:
nvm install node && nvm alias default node
这将会默认安装最新版本的Node.js并且设置好命令行的环境变量,这样你可以输入node命令来启动Node.js环境。nvm使你可以可以同时安装多个版本的Node.js,并且在这些版本之间轻松切换。
方式二:
先安装Homebrew,再利用Homebrew安装Node.js,运行命令行如下:
//安装Home-brew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
//安装Node.js
brew install node
2) 安装React Native的命令行工具(react-native-cli)
npm install -g react-native-cli
2. 安装CocoaPods
本文只写使用CocoaPods安装React Native的方式,比较支持使用,也比较简单直接。
若依旧不想使用CocoaPods,想直接集成的朋友可以参考下面两篇文章:
1)【iOS&Android】RN学习3——集成进现有原生项目
2)reactnative集成到原生ios项目文中的手动集成react-native
如果之前已经安装并使用过CocoaPods,请忽略这一步(相信只要是iOS开发,一定大多数都接触过了哈)。
若没有安装,则运行命令如下:
gem install cocoa pods
//权限不够则运行下面一句
sudo gem install cocoapods
二、集成React Native
1. 安装React Native
1)创建ReactComponent文件夹和配置文件
在项目中建一个名为ReactComponent的文件夹, 用于存放我们react-native的相关文件, 再创建一个package.json文件, 用于初始化react-native.(文件夹名字自定义哈)
文件目录结构如下:
创建package.json文件,文件内容如下:
、、、
{
"name": "AwesomeProject",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"react": "16.0.0-beta.5",
"react-native": "0.49.5"
},
"devDependencies": {
"babel-jest": "21.2.0",
"babel-preset-react-native": "4.0.0",
"jest": "21.2.1",
"react-test-renderer": "16.0.0-beta.5"
},
"jest": {
"preset": "react-native"
}
}
不过60s估计等到花都谢了,设置成5~10s比较合理,于是赶紧去设置超时时间:
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
// 设置超时时间
[manager.requestSerializer willChangeValueForKey:@"timeoutInterval"];
manager.requestSerializer.timeoutInterval = 8.f;
[manager.requestSerializer didChangeValueForKey:@"timeoutInterval"];
模拟超时环境
怎么个模拟超时环境? 很简单,把项目的地址改一下就行,例如:http://xxx.com/api改为http://xxx1.com/api就行了,运行项目看一下超时设置,果然生效了。
ps:在MacBook和真机上模拟超时环境是可以的,不过在Mac mini上模拟不成功,提示为:
Error: Error Domain=NSURLErrorDomain Code=-1003 "未能找到使用指定主机名的服务器。"
网友评论