一、準備工作
1. React Native 開發(fā)基礎環(huán)境
這個可以直接參考我寫的第二篇文章React Native 環(huán)境搭建和創(chuàng)建項目(Mac)。如果已經(jīng)按上篇文章操作過,或者說已經(jīng)在Mac平臺已經(jīng)成功運行過React Native應用,那肯定是已經(jīng)有了開發(fā)基礎環(huán)境,可以直接忽略這一步。
1) 安裝Node.js
方式一:
安裝 nvm(安裝向?qū)г?a target="_blank" rel="nofollow">這里)。然后運行命令行如下:
nvm install node && nvm alias default node
這將會默認安裝最新版本的Node.js并且設置好命令行的環(huán)境變量,這樣你可以輸入node命令來啟動Node.js環(huán)境。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——集成進現(xiàn)有原生項目
2)reactnative集成到原生ios項目文中的手動集成react-native
如果之前已經(jīng)安裝并使用過CocoaPods,請忽略這一步(相信只要是iOS開發(fā),一定大多數(shù)都接觸過了哈)。
若沒有安裝,則運行命令如下:
gem install? cocoa pods
//權(quán)限不夠則運行下面一句
sudo gem install cocoapods
二、集成React Native
1. 安裝React Native
1)創(chuàng)建ReactComponent文件夾和配置文件
在項目中建一個名為ReactComponent的文件夾, 用于存放我們react-native的相關(guān)文件, 再創(chuàng)建一個package.json文件, 用于初始化react-native.(文件夾名字自定義哈)
文件目錄結(jié)構(gòu)如下:
創(chuàng)建package.json文件,文件內(nèi)容如下:
、、、
{
"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"];
模擬超時環(huán)境
怎么個模擬超時環(huán)境? 很簡單,把項目的地址改一下就行,例如:http://xxx.com/api改為http://xxx1.com/api就行了,運行項目看一下超時設置,果然生效了。
ps:在MacBook和真機上模擬超時環(huán)境是可以的,不過在Mac mini上模擬不成功,提示為:
Error: Error Domain=NSURLErrorDomain Code=-1003 "未能找到使用指定主機名的服務器。"