親自操作了一遍,沒有大問題。
我在 pod install 的時候,一直 installling ,永遠安裝不完 ,最終發現,我把 翻牆軟件退出 去就好了
原文地址:http://blog.csdn.net/l863784757/article/details/50592341
1.本文的前提條件是,電腦上已經安裝了CocoaPods,React Native相關環境。
2.使用Xcode新建一個工程。EmbedRNMeituan
[圖1]
3.使用CocoaPods安裝React Native
在工程目錄下新建Podfile文件,並配置需要使用的第三方庫
- 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"
- platform :ios, '7.0'
【圖2】
編譯一下,會報一個錯,提示路徑太長
4.在工程目錄下新建Components文件夾,和index.ios.js文件
【圖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)
- vi run.sh
輸入
- #! /bin/bash
- (cd Pods/React; npm run start)
然後給run.sh添加可執行權限:chmod +x run.sh