React-Native环境搭建(IOS)

news2024/12/23 17:23:54

系列文章目录

  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.coloradmin.cn/o/1327344.html

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

相关文章

Educational Codeforces Round 160 (Rated for Div. 2) A~C

目录 A. Rating Increase 题目分析: B. Swap and Delete 题目分析: C. Game with Multiset 题目分析: A. Rating Increase 题目分析: 因为首部不为零,故我们从第二个字符开始遍历,如果遇到第一个不为‘0’的字符&#xff0…

Jupyter Notebook修改默认工作目录

1、参考修改Jupyter Notebook的默认工作目录_jupyter文件路径-CSDN博客修改配置文件 2.在上述博客内容的基础上,这里不是删除【%USERPROFILE%】而是把这个地方替换为所要设置的工作目录路径, 3.【起始位置】也可以更改为所要设置的工作目录路径&#x…

Unity中的导航系统

NavMesh(导航网格)是3D游戏世界中用于实现动态物体自动寻路的一种技术,将游戏中复杂的结构组织关系简化为带有一定信息的网格,在这些网格的基础上通过一系列的计算来实现自动寻路。导航时,只需要给导航物体挂载导航组建,导航物体便…

树莓派,opencv,Picamera2利用舵机云台追踪特定颜色对象(PID控制)

一、需要准备的硬件 Raspiberry 4b两个SG90 180度舵机(注意舵机的角度,最好是180度且带限位的,切勿选360度舵机)二自由度舵机云台(如下图)Raspiberry CSI 摄像头 组装后的效果: 二、项目目标…

uni-app ucharts中饼图与圆环图区别

项目情况: uni-app的用于移动端H5项目,包使用uni_modules目录存放。 图表引用ucharts中的echarts配置的组件方式 区别1 饼图与圆环图在echarts使用的配置都是pie类型。但是配置raduis使用: radius: [40%, 70%] 区别2 组件type指明&#xf…

nodejs连接mongodb报错SyntaxError: Unexpected token .

nodejs连接mongodb报错SyntaxError: Unexpected token 如下图 经过排查,原因是npm默认安装的mongodb插件是最新版6.3.0 ,而mongodb数据库版本是4.0.0 ,两者版本不同导致nodejs报错。 解决方法是npm卸载新版本的mongodb插件,再安…

安卓加载项目gradle下载慢

更换镜像源 distributionUrlhttps://mirrors.cloud.tencent.com/gradle//gradle-5.6.4-all.zip

个人财务工具、密钥管理平台、在线会计软件、稍后阅读方案 | 开源专题 No.51

gethomepage/homepage Stars: 10.1k License: GPL-3.0 这个项目是一个现代化、完全静态的、快速且安全的应用程序仪表盘,具有超过 100 种服务和多语言翻译的集成。 快速:网站在构建时以静态方式生成,加载时间飞快。安全:所有对后…

万德高科携手航天科技AIRIOT打造智慧能碳管理平台, 助力碳达峰碳中和

“十四五”时期,我国生态文明建设进入了以降碳为重点战略方向、推动减污降碳协同增效、促进经济社会发展全面绿色转型、实现生态环境质量改善由量变到质变的关键时期。“实施数字化赋能行动”,聚焦能源管理、节能降碳、低碳能力等典型场景,推…

RAG实战案例:如何基于 LangChain 实现智能检索生成系统

在人工智能领域,如何有效结合大型语言模型(LLM)的常识性知识与特定的专有数据,一直是业界探索的热点。微调(Fine-tuning)与检索增强生成(Retrieval-Augmented Generation,简称RAG&am…

5 分钟内搭建一个免费问答机器人:Milvus + LangChain

搭建一个好用、便宜又准确的问答机器人需要多长时间? 答案是 5 分钟。只需借助开源的 RAG 技术栈、LangChain 以及好用的向量数据库 Milvus。必须要强调的是,该问答机器人的成本很低,因为我们在召回、评估和开发迭代的过程中不需要调用大语言…

[SWPUCTF 2021 新生赛]Do_you_know_http已

打开环境 它说用WLLM浏览器打开,使用BP抓包,发送到重发器 修改User-Agent 下一步,访问a.php 这儿他说添加一个本地地址,它给了一个183.224.40.160,我用了发现没用,然后重新添加一个地址:X-Forwa…

3. 行为模式 - 迭代器模式

亦称: Iterator 意图 迭代器模式是一种行为设计模式, 让你能在不暴露集合底层表现形式 (列表、 栈和树等) 的情况下遍历集合中所有的元素。 问题 集合是编程中最常使用的数据类型之一。 尽管如此, 集合只是一组对象的…

将qt程序注册成服务

将qt程序注册成服务 1、qt服务模块管理下载 qt-solutions 2、QtService项目 2.1、将qtservice拷贝到项目代码路径 2.2、实现服务管理 PS&#xff1a;响应服务的启停 CustomService.h #include <QCoreApplication> #include "qtservice.h"class CustomSer…

React网页转换为pdf并下载|使用jspdf html2canvas

checkout 分支后突然报错&#xff0c;提示&#xff1a; Cant resolve jspdf in ... Cant resolve html2canvas in ... 解决方法很简单&#xff0c;重新 yarn install 就好了&#xff0c;至于为什么&#xff0c;我暂时也不知道&#xff0c;总之解决了。 思路来源&#xff1a; 先…

opencv静态链接error LNK2019

opencv 3.1.0 静态库&#xff0c;包括以下文件 只链接opencv_world310d.lib&#xff0c;报错 opencv_world310d.lib(matrix.obj) : error LNK2019: 无法解析的外部符号 _ippicvsFlip_16u_I8&#xff0c;该符号在函数 "enum IppStatus (__stdcall*__cdecl cv::getFlipFu…

安全狗云原生安全-云甲·云原生容器安全管理系统

随着云计算的快速发展&#xff0c;容器技术逐渐成为主流。然而&#xff0c;随着容器的普及&#xff0c;安全问题也日益突出。为了解决这一问题&#xff0c;安全狗推出了云原生容器安全管理系统——云甲。 云甲是安全狗云原生安全的重要组成部分&#xff0c;它采用了先进的云原生…

深入了解Spring MVC工作流程

目录 1. MVC架构简介 2. Spring MVC的工作流程 2.1. 客户端请求的处理 2.2. 视图解析和渲染 2.3. 响应生成与返回 3. Spring MVC的关键组件 3.1. DispatcherServlet 3.2. HandlerMapping 3.3. Controller 3.4. ViewResolver 4. 结论 Spring MVC&#xff08;Model-Vi…

【Midjourney】Midjourney根据prompt提示词生成黑白色图片

目录 &#x1f347;&#x1f347;Midjourney是什么&#xff1f; &#x1f349;&#x1f349;Midjourney怎么用&#xff1f; &#x1f514;&#x1f514;提示词格式 &#x1f34b;&#x1f34b;应用示例——“秘密花园”式涂色书配图生成 &#x1f34c;&#x1f34c;例子1…

浅述无人机技术在地质灾害应急救援场景中的应用

12月18日23时&#xff0c;甘肃临夏州积石山县发生6.2级地震&#xff0c;震源深度10千米&#xff0c;灾区电力、通信受到影响。地震发生后&#xff0c;无人机技术也火速应用在灾区的应急抢险中。目前&#xff0c;根据受灾地区实际情况&#xff0c;翼龙-2H应急救灾型无人机已出动…