1.xcode 新建一个工程 myTestApp
2. 进入工程目录下 新建package.json文件 可以使用sublimb新建
内容为:{
"name": "myTestApp",//工程名
"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-alpha.12",
"react-native": "0.47.1"
},
"devDependencies": {
"babel-jest": "20.0.3",
"babel-preset-react-native": "2.1.0",
"jest": "20.0.4",
"react-test-renderer": "16.0.0-alpha.12"
},
"jest": {
"preset": "react-native"
}
}
3. 命令行 进入工程目录下 cd /Users/holly/Desktop/myTestApp 运行 npm install 或 npm update
4.新建podfile文件 命令行 进入工程目录下 cd /Users/holly/Desktop/myTestApp -->wim podfile -->:wq
-->open podfile 打开podfile,写入:
platform :ios,'9.0'
xcodeproj ‘myTestApp.xcodeproj'
target'myTestApp'do
//# 如果你的RN版本 >= 0.42.0,请加入下面这行
pod'Yoga', :path =>'node_modules/react-native/ReactCommon/yoga/Yoga.podspec'
//node_modules path 就是 以podfile文件路径为基准的路径
pod'React', path:'node_modules/react-native', :subspecs => [
'BatchedBridge',#必须要,不然xcode报错
'Core',
'ART’,#必须要,不然xcode报错
'RCTActionSheet',
'RCTAnimation',
'RCTGeolocation',
'RCTImage',
'RCTLinkingIOS',
'RCTNetwork',
'RCTSettings',
'RCTText',
'RCTVibration',
'RCTWebSocket'
]
end
5.pod install other link flag 加上-lc++
6。建index.ios.js 文件 内容为
import React, { Component } from 'react';import { AppRegistry, StyleSheet, Text, View} from 'react-native';export default class myTestApp extends Component { render() { return (Welcome to React Native!To get started, edit index.ios.jsPress Cmd+R to reload,{'\n'}
Cmd+D or shake for dev menu); }}const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#F5FCFF', }, welcome: { fontSize: 20, textAlign: 'center', margin: 10, }, instructions: { textAlign: 'center', color: '#333333', marginBottom: 5, },});AppRegistry.registerComponent('myTestApp', () => myTestApp); myTestApp为注册的项目名,与appDelegate.m中的
RCTRootView*rootView = [[RCTRootViewalloc]initWithBundleURL:jsCodeLocation
moduleName:@"项目名" launchOptions:launchOptions]; 项目名保持一致,不然会报错
7.生成js.bundle 1、进入项目目录
cd /Users/holly/Desktop/myTestApp
2、打开终端:
npm start
3、使用curl命令生成 main.jsbundle
curl http://localhost:8081/index.ios.bundle -o main.jsbundle
4、在appDelegate.m 用jsCodeLocation = [[NSBundlemainBundle]URLForResource:@"main"withExtension:@"jsbundle"];