前言

我们在学习Flutter开发的过程中,永远都跳不过去的一个问题就是如何在MAC下开发并打包Flutter工程项目,但MAC开发首先要解决的问题就是我们一般技术人员的电脑都是WINDOWS操作系统,专门配置一台MAC的话成本又是不得不考虑的因素,于是虚拟机就成了我们的首选,本篇文章就教你如何用VM虚拟机安装Macos苹果系统,并配置Flutter开发环境。
本教程分为上中下两篇,上篇讲述如何安装VM虚拟机软件,中篇讲述安装Macos系统,下篇讲述如何配置相应环境和安装辅助工具,绝对保姆级教程。

一、工具准备

1.工具说明

这里准备了虚拟机以及IOS镜像文件,我反复测试下,最后确定了比较稳定的几个软件版本:
VMware-workstation-full-17.6.0(版本太高容易不停重启系统)
macOS.Sonoma.14.7.5.23H537.iso(比较稳定的版本还有14.3系列,选此版本的原因是因为Xcode的版本可以安装到15.4)
如果对Xcode的版本有要求,可以参考选择其他IOS镜像文件,具体可以参考这篇文章:

https://blog.csdn.net/zhouzaig/article/details/148282876

2.工具包下载

相应的软件我都已放到网盘,请自行下载
网盘地址:https://pan.baidu.com/s/1nF9RtD0bCyhKwMGDwzWn2A
提取码: cjnh 

二、安装VM虚拟机

1. 安装VM虚拟机

双击打开VM17.6安装包

在这里插入图片描述
点击下一步继续
在这里插入图片描述

接受协议在这里插入图片描述

这里最好勾选在这里插入图片描述
这2项不勾选
在这里插入图片描述
在这里插入图片描述
开始安装
在这里插入图片描述
选择输入许可证
在这里插入图片描述
运行注册机,选择pro 17.x
在这里插入图片描述
在这里插入图片描述
完成安装
在这里插入图片描述

2. 破解并支持高版本MACOS

打开工具包windows目录
在这里插入图片描述
关闭相关VM进程
在这里插入图片描述
从管理员身份运行 unlock
在这里插入图片描述
全部执行完以后关闭
在这里插入图片描述

三、安装MACOS

1.管理VM的虚拟网络编辑器

打开VM编辑菜单,打开虚拟网络编辑器
在这里插入图片描述
还原默认设置,这一步很重要,特别是以前安装过VM其他版本的电脑,如果不进行还原设置,新安装的MACOS会连不上网络,CHCP需要手工设置,这个地方会难倒好多人。
在这里插入图片描述

2.开始安装配置

新建虚拟机,选择“自定义”
在这里插入图片描述
硬件兼容性选择17.x,这样方便以后迁移之类的操作,不选择最高版本

在这里插入图片描述
这里光盘映像文件,选择软件包中的IOS镜像文件macOS.Sonoma.14.7.5.23H537.iso然后点击下一步
在这里插入图片描述
在这里插入图片描述
选择虚拟机保存位置
在这里插入图片描述
根据你的电脑硬件配置,选择对应的处理器配置
在这里插入图片描述
设置虚拟机内存,我电脑是64G的,我分16G给它
在这里插入图片描述
网络类型我们一般使用NAT,这样设置最少最轻松
在这里插入图片描述
硬盘IO设置按默认推荐的设置
在这里插入图片描述
在这里插入图片描述
创建虚拟磁盘
在这里插入图片描述

视情况设置磁盘大小,因为我的项目比较多,我直接开300G
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

250708-Svelte项目从Debian迁移到无法联网的RHEL全流程指南

📌 背景 在 Debian 上使用以下命令创建了一个 Svelte 项目: npm install -g sv npx sv create my-svelte-demo cd my-svelte-demo npm install npm run dev现在需要将该项目迁移到一台 无法联网的 RHEL 9.4 服务器 上运行,出现如下报错&…

力扣 hot100 Day39

118. 杨辉三角 给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 class Solution { public:vector<vector<int>> generate(int numRows) {vector<vector<int>> res(numRows);for (int i 0; i < numRows; i) {res[i].resi…

HuggingFists: 无代码处理复杂PDF

有过使用LLM搭建RAG或其它类知识系统的朋友一定会对文档数据的复杂多样性有着深刻的理解。各行各业的磁盘中都沉睡了数年到数十年的各类文档信息&#xff0c;包括&#xff1a;Doc、Docx、PPT、PDF、XLS、PNG、JPEG等各类格式。利用LLM激活这些数据价值的首要工作就是能够正确的…

Vue 3 框架实现理念、架构与设计哲学深度解析

第一部分&#xff1a;Vue 3 的起源&#xff1a;架构演进与设计哲学 Vue 3 的诞生并非一次简单的版本迭代&#xff0c;而是一场深刻的架构革命。它的出现是前端技术演进、应用规模扩张以及对更高性能和可维护性追求的必然结果。要全面理解 Vue 3 的各项实现理念&#xff0c;必须…

SQL Server使用存储过程导出数据到Excel实现方式

在SQL Server数据库管理中,存储过程作为预编译的T-SQL语句集合,能显著提升数据操作效率与安全性。将数据导出到Excel的需求广泛存在于报表生成、数据迁移等场景。本文详细解析四种通过存储过程实现数据导出的技术方案,涵盖代码实现、适用场景及优化策略,为不同业务需求提供…

OpenGL 2. 着色器

#include <glad/glad.h> #include <GLFW/glfw3.h> #include <iostream> #include <stdexcept>// 函数声明 void framebuffer_size_callback(GLFWwindow* window, int width, int height); void processInput(GLFWwindow* window); void checkShaderCom…

【c++】容器扩容导致的类实例资源被错误释放

BUG记录 表现为新实例被存入前&#xff0c;容器内部的旧实例的析构被意外调用 因为 std::vector 在容量不足时&#xff0c;会自动扩容&#xff0c;把旧元素「搬」到新内存&#xff0c;然后析构旧内存上的那些对象。然后由于LKMotorController 类里没有正确处理移动语义&#xf…

TypeScript 集成

下面&#xff0c;我们来系统的梳理关于 Vue TypeScript 深度集成 的基本知识点&#xff1a;一、TypeScript 与 Vue 集成概述 1.1 为什么需要 TypeScript 类型安全&#xff1a;编译时类型检查&#xff0c;减少运行时错误代码智能&#xff1a;强大的IDE智能提示和自动补全可维护…

npm proxy

背景 前端项目下载依赖时经常会出现timeout的情况&#xff0c;此时有三种解决方案。 切换镜像源。 适用于对依赖版本要求不严格的情况。延长超时时间。设置npm proxy。一些生产环境对依赖版本有着严格要求&#xff0c;并且指定了依赖的下载地址&#xff08;如下图&#xff09;&…

TVS管工作原理是什么?主要的应用场景都有哪些?

什么是TVS管&#xff1f; TVS&#xff08;Transient Voltage Suppressors&#xff09;&#xff0c;即瞬态电压抑制器&#xff0c;也被称为雪崩击穿二极管&#xff0c;是一种二极管形式的高效能保护器件&#xff0c;常用来防止端口瞬间的电压冲击造成后级电路的损坏。 TVS 有单…

分布式微服务系统架构第156集:JavaPlus技术文档平台日更-Java线程池使用指南

title: java线程池使用 author: 哪吒 date: 2023-06-15点击勘误issues&#xff0c;哪吒感谢大家的阅读Java线程池使用指南1. 线程池基础使用1.1 创建线程池的方式方式一&#xff1a;使用Executors工具类&#xff08;不推荐&#xff09;// 1. 固定大小线程池 ExecutorService fi…

【最新版】点大全能版v2.6.7.1 含汇付斗拱插件+uniapp前端

一.介绍V2全能版本、独立版本全开源&#xff0c;含链动21&#xff0c;汇付斗拱​、排队免单、推三返1 &#xff0c;扶持金&#xff0c;平级奖&#xff0c;团队业绩奖&#xff0c;酒店管理&#xff0c;约车&#xff0c;餐饮等众多营销功能&#xff0c;商城系统版本号为2.6.7.1&a…

Go语言高级面试必考:切片(slice)你真的掌握了吗?

目录 1. 切片是个啥?从数组到切片的灵魂进化 数组与切片的爱恨情仇 切片的内存结构:三巨头共舞 切片的初始化方式:灵活到飞起 切片的“引用”特性:福也是祸 源码初探:切片的诞生 2. 切片三剑客:len、cap 和底层数组的三角恋 len 和 cap 的微妙关系 切片共享的秘密…

monorepo + Turborepo --- 开发应用程序

目录 配置开发任务 在 dev 之前运行设置任务 运行特定应用程序 使用终端 UI 与任务交互 监听模式 watch 将 turbo watch 与持久任务一起使用 依赖感知的持久任务 没有依赖感知的持久任务 缓存 任务输出 局限性 在 Monorepo 中开发应用程序可以解锁强大的工作流程&…

C#字符串相关库函数运用梳理总结 + 正则表达式详解

C# 字符串常用库函数总结 &#x1f539; 1. 字符串比较 方法说明示例string.Equals()比较两个字符串是否相等&#xff08;可忽略大小写&#xff09;string.Equals("abc", "ABC", StringComparison.OrdinalIgnoreCase) / !判断两个字符串是否相等/不等&quo…

投机采样(Speculative Decoding)

投机采样&#xff08;Speculative Decoding&#xff09; 是一种加速大型语言模型&#xff08;LLM&#xff09;推理的技术&#xff0c;其核心思想是通过预生成候选token序列并异步校验&#xff0c;从而减少主模型的计算量&#xff0c;同时保持生成结果的准确性。 核心思想是通过…

如何将华为手机中的照片传输到电脑

华为手机在众多手机品牌中以其出色的品质脱颖而出&#xff0c;尤其是其摄像头功能。有时&#xff0c;你可能在华为手机上积累了太多有意义的照片&#xff0c;想要将这些照片上传到电脑以释放手机存储空间。然而&#xff0c;出于用户信息安全的考虑&#xff0c;一些便捷的方法可…

whitt算法之特征向量的尺度

whitt中特征值不相等判别条件另一个条件的意思&#xff0c; 实际上这两个条件都没用&#xff0c;不用看&#xff0c;特征值排序&#xff0c;如果现在顺序对λ1/λ1‘ w λ2/λ2 -w 此时取相位就是0&#xff0c;最小了 如果相反就是面的是0我的代码用最优相位内积去交换位置公…

【Note】《深入理解Linux内核》 第十九章:深入理解 Linux 进程通信机制

《深入理解Linux内核》 第十九章&#xff1a;深入理解 Linux 进程通信机制&#xff08;Process Communication&#xff09;关键词&#xff1a;IPC、信号、管道、FIFO、消息队列、信号量、共享内存、套接字、内核对象、同步机制一、进程通信概述 1.1 为什么需要进程通信 在 Linu…

【Mac 从 0 到 1 保姆级配置教程 19】- 英语学习篇-我的英语工作流分享(AI 辅助学习)

文章目录前言听力沉浸式翻译阅读Easydict配置自定义字典&#xff08;重点&#xff09;欧陆词典沙拉查词沉浸式翻译写作Eearthworm英文提问口语最后学习资料系列教程前言 本文介绍一下我日常如何学习和使用英语的工作流&#xff0c;包括一些常用好用的工具&#xff0c;好的工具…