React-Native环境搭建(IOS)

系列文章目录

  1. React-Native环境搭建(IOS)

目录

  • 系列文章目录
  • 前言
  • 一、IOS环境搭建前置说明
  • 二、环境搭建步骤
    • 1.Homebrew安装
    • 2.安装Xcode
    • 3.Node
    • 4.watchman
    • 5.CocoaPods
  • 三、项目启动
    • 1.初始化项目
    • 2.项目启动
  • 总结

前言

React-Native开发环境的搭建,有相关的技术文档,里面详细的记录了环境搭建的方方面面。但是我个人觉得,还是有相当一部分,写的并不是很细节,比如安装某一个包,到底需要等待多长时间,有没有更好的替代方案,在官方文档中,依然介绍的不是很清楚。

本文旨在针对官方文档的一些细节,进行补充,建议官方文档和本文章结合着阅读,可能效果会更好。

一、IOS环境搭建前置说明

  1. 我们需要明白,react-native环境的搭建,ios和安卓,是完全不同的。针对ios,我们的环境是mac系统,也就是你必须是苹果电脑,才有可能搭建IOS的开发环境。
  2. 我们需要知道,ios环境的搭建,核心是围绕着xcode进行的,因为ios代码的调试,运行,都是在xcode上面进行的。
  3. 我们搭建ios环境,肯定是针对某一个版本的react-native进行的,不同版本的react-native,所需要的开发环境,是不一致的。本文的环境搭建,是以最新的react-native@0.72版本进行的。

二、环境搭建步骤

1.Homebrew安装

Homebrew是一款Mac OS的软件管理工具(就像app商店一样),用户可以安装,卸载,更新等功能。使用指令,就可以安装包,不用考虑各种依赖。

Homebrew是我们安装其他所需要的软件的基础工具,这个软件不安装好,其他的大多数依赖的东西,都没法下载。

Homebrew安装命令如下,但是我不建议直接安装,对于国内用户,会有一些问题。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

问题1,国内用户必须要有翻墙工具,提供比较稳点的下载链接,才能真正的把HomeBrew安装好。

问题2,HomeBrew这个包,很大,他需要用户等待极长的时间,所以说,国内用户,最好不要用这个命令。

我们应该用阿里源,进行HomeBrew的安装。参考文档:https://developer.aliyun.com/mirror/homebrew

HomeBrew必须安装完成,如果安装一半报错,继续重新安装。这个阶段,如果网速慢,等待几个小时是很正常的。

2.安装Xcode

为什么我的文档在这里,先是安装Xcode呢?因为Xcode的安装,不依赖任何东西,你只需要在AppStore中,安安稳稳的下载就行。不过Xcode比较大,需要一点时间,耐心等待即可。

其实步骤1和步骤2,是可以同步进行的,因为他们之间,并没有什么联系。

3.Node

一般前端,本地就有node包,所以一般情况,不需要二次安装。但是请切记,node的版本,一定要大于16,这是react-native0.72 的版本,要求如此。

如果没有node,可以通过HomeBrew安装:

brew install node@16

tips:使用brew install下载包,可能会比较慢。甚至我们可以经常性的看到,某个包下载中断了。
原因:在使用brew install 和brew update非常慢的原因是软件源在国外,github本身在国内,是限流的。
解决方案参考:https://www.cnblogs.com/ALINGMAOMAO/p/14426689.html

4.watchman

brew install watchman

5.CocoaPods

brew install cocoapods

如果到这里,所有的包,都能按照所预期的装完,那么环境搭建的一半工作,已经完成了。

三、项目启动

1.初始化项目

npx react-native@latest init AwesomeProject

其中,AwesomeProject为项目名称。

2.项目启动

yarn ios

这一步,也是挺难受的,主要是如果第一次启动该项目,ios会在ios目录下,执行pod install,下载一些ios项目相关的一些依赖包,下载过程异常缓慢,需要极长的等待时间。

等ios项目启动之后,会展示如官网的以下页面。

在这里插入图片描述

总结

IOS环境搭建,个人认为,主要有三个节点比较恶心。

第一、安装HomeBrew,如果没有翻墙工具,会非常非常的慢,如果启用国内源,有些源也不一定能够安装成功,建议还是使用阿里的源。这一步需要等待很长时间,

第二、brew install 命令的执行问题,有可能会下载很慢,其实更改国内源,也很慢。可能也需要等待很长时间。

第三、初次启动IOS,Cocoapads内部会执行pod install,也是一个非常长的过程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/237323.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【已解决】vs2015下c++对sqlite的操作

本博文源于笔者操作sqlite3,借鉴了很多文章的思路,这里并整理了c常用的对数据库的操作供大家点赞收藏以后备用。包含了:c对sqlite3的创建数据库、创建数据表、写入数据表、读取数据表、删除数据表。也包括了最基础的让c运行sqlite3.内容供读者…

手机无人直播的兴起

近年来,随着科技的不断进步和智能手机的普及,手机无人直播成为了一种新兴的传媒方式。手持手机,不经过镜头操作人员的干预,通过直播平台实时分享自己的所见所闻,成为了越来越多人的选择。手机无人直播的盛行离不开以下…

[node]Node.js 中REPL简单介绍

[node]Node.js 中REPL简单介绍 什么是REPL为什么使用REPL如何使用REPL 命令REPL模式node的全局内容展示node全局所有模块查看全局模块具体内容其它命令 实践 什么是REPL Node.js REPL(Read Eval Print Loop:交互式解释器) 表示电脑的环境,类似 Windows 系统的终端或…

Hardhat环境搭建(六)---无需翻墙

Hardhat环境搭建 官方地址 node环境 npm环境 git环境 安装hardhat npm init npminit是什么 在node开发中使用npm init会生成一个pakeage.json文件,这个文件主要是用来记录这个项目的详细信息的,它会将我们在项目开发中所要用到的包,以…

Mac查询本机ip地址

Mac系统版本和网络配置不同,可能会有一些细微差别。 一、 使用系统偏好设置 1、点击屏幕左上角的Apple图标,选择“系统偏好设置”。 2、点击“网络”。 3、 在左侧选择当前连接的网络(如Wi-Fi或以太网),在右侧界面&a…

达梦到达梦的外部链接dblink(DM-DM DBLINK)

一. 使用场景: 部链接对象(LINK)是 DM 中的一种特殊的数据库实体对象,它记录了远程数据库的连接和路径信息,用于建立与远程数据的联系。通过多台数据库主库间的相互通讯,用户可以透明地操作远程数据库的数…

前端开发新趋势:Web3 与虚拟现实的技术融合

在当今互联网技术日新月异的时代,Web技术也在不断地发展和变革。从前端开发的角度来看,新技术的涌现和旧技术的迭代让前端开发者们面临着前所未有的挑战和机遇。Web3 与虚拟现实(VR)的技术融合,正是当前前端开发领域的…

​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化

2022年亚马逊云科技re:Invent盛会于近日在拉斯维加斯成功召开,吸引了众多业界精英和创新者。亚马逊云科技边缘服务副总裁Jan Hofmeyr在演讲中分享了关于亚马逊云科技海外服务器边缘计算的最新发展和创新成果,引发与会者热烈关注。 re:Invent的核心主题是…

九、W5100S/W5500+RP2040之MicroPython开发<HTTPOneNET示例>

文章目录 1. 前言2. 平台操作流程2.1 创建设备2.2 创建数据流模板 3. WIZnet以太网芯片4. 示例讲解以及使用4.1 程序流程图4.2 测试准备4.3 连接方式4.4 相关代码4.5 烧录验证 5. 注意事项6. 相关链接 1. 前言 在这个智能硬件和物联网时代,MicroPython和树莓派PICO正…

Kubernetes 的用法和解析 -- 7

k8s之共享存储pv&pvc 1 存储资源管理 在基于k8s容器云平台上,对存储资源的使用需求通常包括以下几方面: 1.应用配置文件、密钥的管理; 2.应用的数据持久化存储; 3.在不同的应用间共享数据存储; k8s的Volume抽象概…

【昆明*线上同步】最新ChatGPT/GPT4科研实践应用与AI绘图技术及论文高效写作

详情点击查看福利:【昆明*线上同步】最新ChatGPT/GPT4科研实践应用与AI绘图技术及论文高效写作 目标: 1、熟练掌握ChatGPT提示词技巧及各种应用方法,并成为工作中的助手。 2、通过案例掌握ChatGPT撰写、修改论文及工作报告,提供…

AI Native工程化:百度App AI互动技术实践

作者 | GodStart 导读 随着AI浪潮的兴起,越来越多的应用都在利用大模型重构业务形态,在设计和优化Prompt的过程中,我们发现整个Prompt测评和优化周期非常长,因此,我们提出了一种Prompt生成、评估与迭代的一体化解决方案…

NB-IOT、4G-LTE信号优劣判定参考指标

名词释意 (1)RSRP:信号接收功率,反映当前路径信道损耗程度,主要作为小区覆盖的测量和小区重选重要依据. (2)RSRQ:信号接收质量,反映当前路径网络负荷及干扰变化点&#x…

【XML】TinyXML 详解

1、简介 优点: TinyXML 是一个简单、小型的 C XML 解析器,可以轻松集成到项目中。 TinyXML 解析 XML 文档,并根据该文档构建可读取、修改和保存的文档对象模型 (DOM) TinyXML 是在 ZLib 许可下发布的,因此可以在开源或商业代码中…

zynqmp Linux + 裸机 (A53-0 Linux,A53-1 2 3 裸机大数据量实时处理,R5-0 协议处理,R5-1 屏幕显示逻辑等)填坑笔记

fpga 和arm 采用预留内存的方式,采用neon 协处理器只能做到 250M/S 的速度,预留内存采用mmap的方式,当读取内存页的时候采用缺页中断的方式,导致速度拖沓而且预留内存没有进行Linux系统的内存管理(在系统内 memcpy的速…

使用代理服务器和Beautiful Soup爬取亚马逊

概述 Beautiful Soup 是一个用于解析 HTML 和 XML 文档的 Python 库,它能够从网页中提取数据,并提供了一些简单的方法来浏览文档树、搜索特定元素以及修改文档的内容。在本文中,我们将介绍如何使用代理服务器和Beautiful Soup库来爬取亚马逊…

融资项目——vue之双向数据绑定

上一篇文章中使用的v-bind是单向绑定方法,即数据改变,网页相应的视图发生改变,但是网页视图发生改变其相关联的数据不会发生改变。但是双向数据绑定不同之处在于网页视图发生改变其相关联的数据也会发生改变。Vue可以使用v-model进行双向数据…

【SpringBoot快速入门】(1)SpringBoot的开发步骤、工程构建方法以及工程的快速启动详细讲解

目录 SpringBoot简介1 SpringBoot快速入门1.1 开发步骤1.1.1 创建新模块1.1.2 创建 Controller1.1.3 启动服务器1.1.4 进行测试 2 对比3 官网构建工程3.1 进入SpringBoot官网3.2 选择依赖3.3 生成工程 4 SpringBoot工程快速启动4.1 问题导入4.2 打包4.3 启动 之前我们已经学习的…

C++20形式的utf-8字符串转宽字符串,不依赖编译器编码形式

默认的char[]编码都是要看编译器编译选项的,你选了ANSI那它就是ANSI,你选了UTF8那它就是UTF8. 【注意:经典DevC只支持ANSI编码(痛苦);上图是小熊猫DevC,则有这个选项】 这一点对我的代码造成了…

DevOps系列文章 : 使用dpkg命令打deb包

创建一个打包的目录,类似rpmbuild,这里创建了目录deb_build mkdir deb_build目标 我有一个hello的二进制文件hello和源码hello.c, 准备安装到/opt/helloworld目录中 步骤 在deb_build目录创建一个文件夹用于存放我的安装文件 mkdir helloworld在he…