【iOS开发】(一)2024 从一无所有开始,到ios开发(react Native)


2024 从一无所有开始,到ios开发(react Native)

目录标题

    • 1 工具简介
    • 2 基础环境搭建
      • 1 安装 brew
      • 2 安装 Node.js
      • 3 安装 Yarn
      • 4 安装 React Native 脚手架
    • 3 ios环境搭建
    • 4创建并启动一个app

在这里插入图片描述

在这里插入图片描述

1 工具简介

  • Homebrew (brew):macOS 和 Linux 上的软件包管理器,用于安装和管理各种软件包。
  • Node.js:基于 Chrome V8 引擎的 JavaScript 运行环境,用于在服务器端运行 JavaScript 代码。
  • npm:Node.js 的官方包管理器,用于安装、升级、删除和管理 JavaScript 包。
  • Yarn:Facebook、Google 和 Exponent 联合开发的 JavaScript 包管理器,旨在提供更快的安装速度和更可靠的安装结果。
  • React Native:由 Facebook 推出的基于 React 的框架,用于构建原生移动应用程序。
  • ** Watchman**:Watchman 是由 Facebook 开发的一个文件监视器。它可以监听文件系统的变化,并在文件发生变化时执行相应的操作。在开发中,特别是在前端开发中,Watchman 可以用来监视项目文件的变化,并触发自动构建、刷新浏览器等操作,提高开发效率。
  • Pop(React Native Pop):Pop 是 Facebook 推出的一个用于在 React Native 应用中实现高性能动画的库。它建立在原生平台的动画 API 之上,并提供了更高级别的抽象,使得在 React Native 应用中实现流畅的动画变得更加容易。

2 基础环境搭建

在这里插入图片描述

1 安装 brew

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

(2024年4月)

2 安装 Node.js

brew install node
验证:
node -v
npm -v

3 安装 Yarn

npm install -g yarn

4 安装 React Native 脚手架

npm install -g react-native-cli

ios实操示例:

在这里插入图片描述

** cd ios && pod install && cd …/ **
这个命令的作用是:

首先,进入项目 到名为 “ios” 的目录中。通常,React Native 项目的 iOS 部分代码都存放在一个名为 “ios” 的目录中。
然后,运行 pod install 命令。这个命令用于使用 CocoaPods 安装 iOS 项目的依赖项。CocoaPods 是一个用于管理 iOS 项目中依赖库的工具,类似于 npm 或 Yarn。
运行 pod install 会根据项目中的 Podfile 文件安装所需的依赖库。
最后,返回到项目的根目录。这个命令中使用了 cd …/ 来返回到上一级目录,也就是项目的根目录。

3 ios环境搭建

在这里插入图片描述

过程中,若yarn ios 命令,若遇到了一个关于 Xcode 的错误,提示你需要安装 Xcode 或者配置 Xcode 的路径。 命令: sudo xcode-select --reset

输入开机密码后,会自动重新运行 pod install, install 后,Xcode 项目的配置可能会发生变化,可能会触发 React Native 项目的重新构建或刷新。

4创建并启动一个app

在这里插入图片描述

react-native init mywdm (MyProject)
初始化


wangqian@wangqians-MacBook-Air %react-native init mywdm(MyProject)wangqian@wangqians-MacBook-Air mywdm %cd mywdm
wangqian@wangqians-MacBook-Air mywdm % ls
App.tsx        __tests__    index.js    node_modules    yarn.lock
Gemfile        android        ios        package.json
Gemfile.lock    app.json    jest.config.js    tsconfig.json
README.md    babel.config.js    metro.config.js    vendor

yarn ios 操作是用于在 React Native 项目中启动 iOS 应用程序的命令。当你运行 yarn ios 命令时,它会执行以下操作:

启动开发服务器(Metro Bundler):首先,yarn ios 命令会启动开发服务器,也称为 Metro Bundler。开发服务器负责打包 JavaScript 代码并提供给 iOS 应用程序。
启动 iOS 模拟器:接下来,命令会尝试启动 iOS 模拟器,以在模拟器中运行你的应用程序。
构建和运行应用程序:一旦模拟器启动,React Native 会将 JavaScript 代码打包,并通过开发服务器加载到模拟器中。然后,应用程序会在模拟器中运行,并通过开发服务器获取更新的 JavaScript 代码。


在这里插入图片描述
项目在模拟器上运行的画面

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

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

相关文章

OpenHarmony实战开发-页面布局检查器ArkUI Inspector使用指导

DevEco Studio内置ArkUI Inspector工具,开发者可以使用ArkUI Inspector,在DevEco Studio上查看应用在真机上的UI显示效果。利用ArkUI Inspector工具,开发者可以快速定位布局问题或其他UI相关问题,同时也可以观察和了解不同组件之间…

day24 java IO流 四个节点流

目录 FileInputStream FileOutputStream FileOutputStream类 FileOutputStream续写 FileInputStream类 FileWriter FileReader FileWriter写 FileWriter续写 FileWriter换行 FileWriter关闭和刷新 FileReader读 FileReader读取指定长度 当你创建一个流对象时&#x…

Matlab分段微分方程组拟合【案例源码+视频教程】

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《复杂函数拟合案例分享》本专栏旨在提供 1.以案例的形式讲解各类复杂函数拟合的程序实现方法,并提供所有案例完整源码;2.…

FLASH中sector、block、page的区别和联系

在FLASH存储介质中,sector(扇区)、block(块)和page(页)是三个重要的概念,它们代表了不同级别的逻辑分区或数据单元。 首先,page(页)是FLASH存储器…

LLM 构建Data Multi-Agents 赋能数据分析平台的实践之③:数据分析之一(智能报表)

概述 在企业数字化转型的过程中,ERP系统与数据平台作为核心支撑工具,对于提升运营效率、优化决策支持、实现业务流程一体化起着至关重要的作用。然而,智能报表与报表的智能化合并作为其中的重要领域,却往往面临诸多挑战与难点&am…

探索 去中心化的Web3.0

随着区块链技术的日益成熟和普及,Web3(Web 3.0)已经成为一个无法忽视的趋势。Web3不仅仅是一个技术概念,更是一个去中心化、透明、用户数据拥有权归还给用户的互联网新时代。在这篇文章中,我们将深入探讨Web3技术的核心…

纯js图片上传插件

目录标题 一、效果预览二、使用简单三、完整代码(一)index.html(二)css(三)js四、附带后台上传文件代码 一、效果预览 支持多图片上传,删除、预览。 二、使用简单 导入依赖(需要…

Dart基础语法

Hello Dart Dart 语言与其他许多编程语言一样,以 main 函数作为程序的入口点。以下是一个简单的 "Hello Dart" 程序示例,展示了 Dart 语言的这一特点。 // 标准写法 void main(){print("Hello Dart"); }// 省略写法 main(){print(&…

WebGL绘制和变换三角形

1、绘制多个点 构建三维模型的基本单位是三角形。不管三维模型的形状多么复杂,其基本组成部分都是三角形,只不过复杂的模型由更多的三角形构成而已。 gl.vertexAttrib3f()一次只能向顶点着色器传入一个顶点,而绘制三角形、矩形和立方体等&am…

【网络安全】HTTP协议 — 特点

专栏文章索引:网络安全 有问题可私聊:QQ:3375119339 目录 学习目标​ 一、请求与响应 1.服务器和客户端 二、不保存状态 1.不保存状态的协议 三、资源定位 1.URI(统一资源标识符) 四、请求方法 1.请求方法 五…

如何在window系统中安装Mysql

先简单来说说MySQL是什么? MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。 MySQL 由瑞典 MySQL AB 公司开发,目前属于…

多模态模型训练QA

Q:InternLM-XComposer的最新版本把vit的参数量降低了但是效果好了,所以好奇scale up vision encoder的收益大么?还是说重点是一个好的llm? A:结论是二者同步扩大才会起作用。我们试下来结论是llm 7b情况下&#xff0c…

C++ 核心编程 - 函数提高

文章目录 3.1 函数默认参数3.2 函数占位参数3.3 函数重载3.3.1 基本语法3.3.2 注意事项 3.1 函数默认参数 在 C 中,函数的形参列表中的形参是可以有默认值的,语法为 返回值类型 函数名 (参数 默认值){} 注意1: 如果某个位置参数有默认值&…

利用AI知识库,优化医保系统售后信息管理流程

在医疗行业中,传统知识库管理虽能整合医疗行业知识,但搜索和管理效率有限,导致医护人员难以高效利用。特别是面对医保系统等复杂系统时,他们常需依赖人工客服或繁琐的电子产品手册解决问题。而HelpLook AI知识库利用AI技术&#x…

中国人民解放军信息支援部队成立

中国人民解放军信息支援部队成立 ----------强化信息化战争能力,维护国家安全 阅读须知: 探索者安全团队技术文章仅供参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作,由于传播、利用本公众号所提供的技术和信息而造成的任何直接或…

【c++20】学习笔记:priority_queue及实战

基于c++20 编译,参考:pair vs tuple大神的文章:基本就两种比较方式 < less than ,降序排列,大顶堆greater than, 升序排列,小顶堆 例子代码 #include <functional> #include <iostream>

基于 Win32 编程,使用 C语言开发一个记事本。

现在 Win32 非常少见&#xff0c;因为太原始了&#xff0c;同时也因为高级语言做应用开发速度更快。但是用 C 语言开发一个 win32 记事本对于理解应用程序运行的内部原理还是很有帮助的&#xff0c;“最基础的就是最有用的”&#xff0c;Windows 编程圣经 《Windows 程序设计》…

HCIP学习笔记

个人学习hcip笔记 供参考 笔记有些乱 之后还会修改完善并添加其他篇幅 OSPF篇 OSPF采用组播方式发送hello包&#xff0c;组播地址为224.0.0.5 相关&#xff1a; 所有节点&#xff1a;224.0.0.1&#xff1b; 所有路由器&#xff1a;224.0.0.2&#xff1b; OSPF DRO发给DR&…

tcp inflight 守恒算法背后的哲学

tcp inflight 守恒拥塞控制的正确性 很久以前我开始纠结 tcp 锯齿&#xff0c;很多年后我知道这叫 capacity-seeking&#xff0c;甚至说 tcp 属于 capacity-seeking protocol 的原因就是它早已深入人心的 aimd 行为&#xff0c;而该行为生成了 tcp 锯齿。 在消除锯齿&#xf…

裸金属服务器和物理机有什么区别

今天&#xff0c;在我们生活的世界中&#xff0c;技术已经彻底改变了我们的生活。在开展在线业务时&#xff0c;服务器在快速高效地执行多项任务方面发挥了极其重要的作用。然而&#xff0c;很多人仍然对裡金属服务器和物理机感到很困惑。今天就给大家分析一下裡金属服务器和物…