文档章节

React Native iOS环境搭建

mahb520
 mahb520
发布于 2015/11/30 15:57
字数 780
阅读 4065
收藏 115
点赞 5
评论 5

感觉React Native会越来越多的公司开始研究、使用。所以周六也抽空搭建了iOS的开发环境,以便以后利用空闲的时间能够学习一下。

废话不多说了,下面简单的列出步骤吧。 
1. 安装Homebrew 
Homebrew主要用于安装后面需要安装的watchman、flow 
打开MAC的终端,输入如下命令: 

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

经过漫长的等待后,安装完成。执行 brew doctor 命令。这是homebrew 完成后必须做的一件事,检查homebrew各模块是否正常

2. 安装nvm和nodejs 
nvm是用于nodejs版本管理的工具,用于安装nodejs。 
对于nvm应该可以使用brew直接安装,但是我没有用这个安装,读者可以自己使用如下命令试试: 

brew install nvm 

我使用的另一种方式,在终端中输入如下的命令: 

brew install node . 该命令执行后,自动装好node和npm 

这个用于安装nodejs和npm。npm用于nodejs包依赖管理的工具。 
3. 安装watchman 
watchman是用于监听文件变化的工具,应该是用于监听文件变化,然后界面做出响应。执行如下命令: 

brew install watchman 

4. 安装flow 
flow我个人理解的是用于静态分析js语法错误的工具,能够更早的js的语法错误。执行如下的命令: 

brew install flow 

到这里基本的环境就配置好了,下面创建一个iOS的例子,在终端中将目录切换到你保存工程的目录,然后执行如下的命令:

$ npm install -g react-native-cli  
 $ react-native init AwesomeProject     
$ cd AwesomeProject/

  1. 在git上下载,或者直接clone项目 React native

  2. npm install -g react-native-cli 安装命令行界面工具。

  3. 在react-native的项目目录下使用react-native命令行命令init初始化一个demo项目。react-native init DemoProject 
    初始化完成后,在DemoProject目录下会看到DemoProject.xcodeproj文件,其中的index.ios.js就是控制项目的js文件,简单的demo,主要界面和逻辑都是在这个js文件里。

如果执行到第4步,出现npm install或者提示npm start的警告,可以在当前目录执行一下sudo npm install

第二个命令第一次执行会执行很长时间,因为需要安装许多东西。然后再终端输入如下命令打开工程:

open ios/AwesomeProject.xcodeproj1

mahbtekiMacBook-Pro:~ mahb$ react-native init MahbIOSProject

prompt: Directory MahbIOSProject already exist. Continue?:  (no) yes

This will walk you through creating a new React Native project in /Users/mahb/MahbIOSProject

Installing react-native package from npm...

Setting up new React Native app in /Users/mahb/MahbIOSProject

To run your app on iOS:

   Open /Users/mahb/MahbIOSProject/ios/MahbIOSProject.xcodeproj in Xcode

   Hit the Run button

To run your app on Android:

   Have an Android emulator running (quickest way to get started), or a device connected

   cd /Users/mahb/MahbIOSProject

   react-native run-android

这样就打开了iOS的工程,运行一下就能看到模拟器中的界面。 
下面试着修改index.ios.js中的文本,然后在模拟器上按Cmd+R,这样能够看到修改马上就呈现到模拟器上了。

参考此文档改写 http://blog.csdn.net/mengxiangyue/article/details/48603707

© 著作权归作者所有

共有 人打赏支持
mahb520
粉丝 21
博文 73
码字总数 24908
作品 0
广州
项目经理
加载中

评论(5)

mahb520
mahb520

引用来自“笔阁”的评论

整理过一个带环境的react课程,有空的可以试试。

http://www.hubwiz.com/course/552762019964049d1872fc88/?ch=os

谢谢
笔阁
笔阁
整理过一个带环境的react课程,有空的可以试试。

http://www.hubwiz.com/course/552762019964049d1872fc88/?ch=os
大洋的顶端
大洋的顶端
开发环境是硬伤,估计FACEBOOK设计先符合IOS的,再符合安卓。
WINDOWS下不能开发吓跑了多少人?
dimdim
dimdim
0环境需要一台苹果
ios122
ios122
"第二个命令第一次执行会执行很长时间,因为需要安装许多东西",其实只是因为 用的国外的源,下载的慢,换成淘宝源 就可以了
React Native SDK for OSS

此文主要介绍 React Native SDK for OSS的方方面面,包括相关基本概念、项目背景、项目方案、环境搭建运行、使用姿势、注意事项等。文末的附件可运行Example Zip压缩包和针对新手的入门实用文...

zuozhao
05/18
0
0
iOS原生混合RN开发最佳实践

做过原生iOS开发或者Android开发的同学们肯定也都了解Hybrid,有一些Hybrid的开发经验,目前我们企业开发中运用最广泛的Hybrid App技术就是原生与H5 hybrid,在早期的时候,可能部分同学也接...

光强
05/16
0
0
React-Native 热更新 CodePush

1. CodePush (2017.8.17) 0.网上资料和官网最新的不一样 1.安装CodePush: npm install -g code-push-cli 2.创建CodePush账号: code-push register (会打开网页进行注册,有点卡) 3.复制 toke...

mochixuan
2017/09/30
0
0
React-Native 之 环境配置和简单使用

前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所偏差,在...

postdep
05/01
0
0
React Native VS Flutter评测

React Native VS Flutter评测 编辑于 11:34

纪洪波
06/27
0
0
React Native开发之——Webstorm快捷开发

前言 开发RN的工具有很多,选择性也比较多,常见的有: WebStorm Sublime Text 3 VS Code Nuclide 其他 本文以Webstorm为例讲解 使用Webstorm开发React Native 注:本文默认已配置好React N...

青衫无名
07/16
0
0
Udacity也弃用React Native了 !看看他们使用React Native过程中遇到了哪些问题

Udacity也弃用React Native了 !看看他们使用React Native过程中遇到了哪些问题 2018-07-12 10:29编辑: 枣泥布丁分类:程序人生来源:程序师 React Native弃用Udacity 招聘信息: iOS开发 ...

枣泥布丁
07/12
0
0
继 Airbnb 之后,Udacity 也宣布弃用 React Native!

Udacity 移动端团队最近删除了 App 中使用 React Native 语言开发的相关功能。 我们收到大量有关我们用法或 React Native 的问题以及为什么我们停止投入资源和精力在 RN 上。 在这篇文章中,...

亦枫
07/12
0
0
JavaScript(React Native、Node.js等)移动、服务端通吃的全栈语言

作者:李宁老师 东北大学计算机专业硕士。曾任沈阳东软股份项目经理。51CTO学院签约讲师。从事软件研究和开发超过20年。长久以来一直从事Java、Android、iOS、C++、Swift、Objective-C以及跨...

androidguy
06/29
0
0
RN文件上传(仅ios),下载,创建,删除等文件操作(兼容IOS和Android)--react-native-fs

https://github.com/itinance/react-native-fs //GitHub地址 具体用法参照GitHub 一.下载依赖 npm install react-native-fs --save 二.链接原生库 链接后重新编译,如果android还是报错用AS打...

Chason-洪
2017/10/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Win10专业版安装GIT后使用Git Bash闪退解决办法

百度后把过程和最终解决办法记录下来: 百度首先出来的解决办法如下: 来自:https://segmentfault.com/q/1010000012722511?sort=created 重启电脑 重新安装 安装到C盘 尝试网上的教程 \Git...

特拉仔
2分钟前
0
0
设计模式

1.装饰器模式 概念 允许向一个现有的对象添加新的功能,同时又不改变其结构。装饰者可以在所委托被装饰者的行为之前或之后加上自己的行为,以达到特定的目的。 实现 增加一个修饰类包裹原来的...

EasyProgramming
17分钟前
1
0
用python2和opencv进行人脸识别

一、安装cv2 sudo apt-get install python-opencv opencv-data 二、 Haar特征分类器 Haar特征分类器就是一个XML文件,该文件中会描述人体各个部位的Haar特征值。包括人脸、眼睛、嘴唇等等。 ...

wangxuwei
17分钟前
0
0
python模板中循环字典

{% for k,v in user.items %} {{ k}} {{ v}} {% endfor %}

南桥北木
45分钟前
0
0
Java8系列之重新认识HashMap

简介 Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示: 下面针对各个实现类...

HOT_POT
49分钟前
0
0
获取调用方的className

/** * 获取调用方的class * @return */private static String getInvoke() { StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); S......

iborder
今天
0
0
深入了解一下Redis的内存模型!

一前言 Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分。 我们使用Redis时,会接触Redis的5种对象类型(字符...

Java填坑之路
今天
1
0
从实践出发:微服务布道师告诉你Spring Cloud与Spring Boot他如何选择

背景 随着公司业务量的飞速发展,平台面临的挑战已经远远大于业务,需求量不断增加,技术人员数量增加,面临的复杂度也大大增加。在这个背景下,平台的技术架构也完成了从传统的单体应用到微...

老道士
今天
1
0
大数据学习的各个阶段

第一阶段:Linux课程讲解Linux基础操作,讲的是在命令行下进行文件系统的操作,这是Hadoop学习的基础,后面的所有视频都是基于linux操作的。鉴于很多学员没有linux基础,特增加该内容,保证零linux...

董黎明
今天
0
0
CVE-2013-0077 堆溢出分析

找了很久才发现这个环境比较容易搭建分析... 环境: 系统---Win XP SP3 漏洞程序:QQPlayer 3.7.892.400 出错DLL:quartz.dll 6.5.2600.5512 调试工具:x32db+gflag.exe 过程: 首先gflag设置...

Explorer0
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部