1.本文的前提条件是,电脑上已经安装了CocoaPods,React Native相关环境。node
2.使用Xcode新建一个工程。EmbedRNMeituanreact
[图1]android
3.使用CocoaPods安装React Nativeios
在工程目录下新建Podfile文件,并配置须要使用的第三方库npm
pod 'React', '0.13.0-rc' pod "React/RCTText" pod "React/RCTActionSheet" pod "React/RCTGeolocation" pod "React/RCTImage" pod "React/RCTLinkingIOS" pod "React/RCTNetwork" pod "React/RCTSettings" pod "React/RCTVibration" pod "React/RCTWebSocket"
注:若是你须要在React Native中使用<Text>,就须要添加 pod"React/RCTText”,不然不能用segmentfault
【图2】react-native
编译一下,会报一个错,提示路径太长安全
4.在工程目录下新建Components文件夹,和index.ios.js文件bash
【图3】服务器
并在index.ios.js文件里粘贴一下代码:
'use strict'; var React = require('react-native'); var { AppRegistry, StyleSheet, Text, View, } = React; var EmbedRNMeituan = React.createClass({ render: function() { return ( <View style={styles.container}> <Text style={styles.welcome}> Welcome to React Native! </Text> <Text style={styles.instructions}> To get started, edit index.android.js </Text> <Text style={styles.instructions}> Shake or press menu button for dev menu </Text> </View> ); } }); var 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('EmbedRNMeituan', () => EmbedRNMeituan);
以上,React Native部分已经弄完。下面开始原生部分。
#import "RCTRootView.h" - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [self initRNView]; } -(void)initRNView { NSURL *jsCodeLocation; jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"]; RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"EmbedRNMeituan" initialProperties:nil launchOptions:nil]; //注意,这里是 @"EmbedRNMeituan" rootView.frame = CGRectMake(0, 64, 300, 300); [self.view addSubview:rootView]; }
【图4】
提示找不到服务器,以及数据传输的安全问题。
【图5】
(cd Pods/React; npm run start)
6.3编写脚本文件run.sh
vi run.sh
输入
#! /bin/bash
(cd Pods/React; npm run start)
而后给run.sh添加可执行权限:chmod +x run.sh