本文基于RN中文网

要在mac系统上搭建RN环境:

一、安装Homebrew。它是一款Mac OS平台下的软件包管理工具。

详见Homebrew的安装这篇文章。

二、安装node和watchman,用Homebrew在命令行进行安装

brew install node
brew install watchman

如果已经安装了Node,请检查其版本是否在 v10 以上。命令行输入

node -v

即可查询安装版本。安装完Node后建议设置npm镜像以加速后面的过程。

注意:不要使用cnpm! cnpm 安装的模块路径比较奇怪,packager 不能正常识别!

npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global

watchman(看门人)是由 Facebook 提供的监视文件系统变更的工具。安装此工具可以提高开发时的性能(packager 可以快速捕捉文件的变化从而实现实时刷新)。

三、安装yarn和react-native-cli。

yarn是Facebook 提供的替代 npm 的工具,可以加速 node 模块的下载。React Native 的命令行工具(react-native-cli)用于执行创建、初始化、更新项目、运行打包服务(packager)等任务。

npm install -g yarn react-native-cli

安装完yarn后同理也要设置镜像源:

yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global

安装完yarn之后就可以用yarn代替npm了,例如用yarn代替npm install命令,用yarn add某第三方库名代替npm install某第三方库名。

四、安装xcode,xcode为IDE。

五、创建新项目,先试下创建0.44.3(低版本的)的应用。

react-native init MyApp --version 0.44.3

然后进入应用,用xcode打开MyApp的ios文件夹

启动模拟器(simulator),出现如下报错。

此时,修改node_modules/react-native/React/Base/RCTModuleMethod.m(或是mm)文件,在RCTParseUnused方法中增加一行

static BOOL RCTParseUnused(const char **input)
{
return RCTReadString(input, "__unused") ||
RCTReadString(input, "__attribute__((__unused__))") || //lyh fixed
RCTReadString(input, "__attribute__((unused))");
}

重新启动模拟器即可。

六、创建高版本应用(0.59.1)

运行

react-native init AwesomeProject --version 0.59.1
注意:init 命令默认会创建最新的版本,而目前最新的 0.45 及以上版本需要下载 boost 等几个第三方库编译。
这些库在国内即便翻墙也很难下载成功,导致很多人无法运行ios项目!这是这些库的国内下载链接
 
安装成功即可运行init命令,init成功则点击xcode中的Run键即可成功显示页面。

出现以上报错,则在项目根目录运行命令

npm start

即可。

最新文章

  1. Java提高篇——理解String 及 String.intern() 在实际中的应用
  2. LightOJ 1030 Discovering Gold(期望 概率)
  3. MYSQL C API : CLIENT_MULTI_STATEMENTS 选项
  4. Unity CombineChildren和MeshCombineUtility
  5. Hello,Akka
  6. NodeJS -Express 4.0 用include取代partial
  7. LINUX进程上锁查看方法
  8. 在64位Ubuntu系统上安装32位程序包
  9. 自学Zabbix3.9.2-模板Templates-linking/unlinking
  10. 利用clonezilla克隆、还原CentOS整个系统
  11. Luogu--3381 【模板】最小费用最大流
  12. Python Pexpect库的简单使用
  13. centos7下安装docker(12.4容器如何与外部进行通信)
  14. Python访问MongoDB,并且转换成Dataframe
  15. Python装饰器探险
  16. spring boot 事务支持
  17. android adt自带eclipse无法设置ndk路径
  18. PHP-redis api 中文说明(转)
  19. SpringData_JpaRepository接口
  20. 纸壳CMS 3.0升级.Net Core 2.1性能大提升

热门文章

  1. windows下PyCharm安装及使用 【转自 https://blog.csdn.net/yctjin/article/details/70307933?locationNum=11&fps=1】
  2. php方法注释
  3. 从入门到入土:Lambda完整学习指南,包教包会!
  4. Oracle触发器用法--基础教学
  5. linux需要了解的网络基础知识
  6. 【关注图像采集视频传输】之 Cy3014 usb3.0 FIFO接口
  7. KEIL MDK 算式优先级 备忘
  8. 基于 H5 + WebGL 实现 3D 可视化地铁系统
  9. 【Webpack】373- 一看就懂之 webpack 高级配置与优化
  10. Docker--DockerFile创建自己的image