前言

最近刚上手Flutter,写了个小Demo,想着在ios上来一发,但作为一名Android Developer,我没有Mac(还不是因为穷),这可咋整?
幸好有万能的网友,带领我走进黑苹果的世界!感谢!但是,万能的网友数不胜数,入门指南也数不胜数,看得我眼花缭乱!各种指南的境遇也各不相同,有的说只能xx版本才行得通,有的说什么什么什么的(忘了)。
于是选择了其中一篇看起来比较靠谱的开始上手。结果大概可能真是我天资愚钝吧,用山路十八弯来形容可真是毫不过分!嗐!不过最终还是撸啊撸地撸成功了!特此大概记录下我最终成功的路径~
鉴于欣赏的指南数不胜数,故只引用对我成功登顶帮助最大的那一篇!!
登登登登~
Windows 安装 MacOS 10.15 虚拟机调试 Flutter iOS 应用

一、虚拟机搭建

1) 工具准备

鉴于美人的环境不同,而且我也不知哪些版本可以哪些版本不行,故记录都是我使用的版本
1)虚拟机软件
VMware Workstation Pro,我使用的版本是15.5.1
2)unlocker
用于解锁 VMware 对 MacOS 的支持,我使用的版本是3.0
3)系统镜像
macOS.Catalina.10.15.0.cdr
这些网上都挺容易找的~

2)虚拟机安装

接下来就是安装了,不过鉴于网上指南很多,故在此也不详述了,大体就是以下步骤:
安装VMware Workstation Pro --> 安装unlocker --> 创建虚拟机 --> 安装 MacOS --> 安装 VMware Tools

其实过程中遇到了很多问题,但当时没有记录下来,而且网上一般都能找到解决方案!网友好样的!
关于虚拟机的硬件设置,以下是我记忆较深刻的点:
①内存
因为关于虚拟机的硬件设置要看机器的性能,我的电脑性能不是特别好,就往小了设置。本来内存默认是2GB,但后来启动ios模拟器的时候,提示内存不能小于4GB,故设置为4GB

②网络适配器
关于如何为虚拟机连接上网络,网上有多种方法,此处跟随大神的脚步,选择桥接模式

③USB控制器
为了让虚拟机能够识别到真机,需要将USB兼容性设置为2.0

二、Flutter环境安装

1.Java安装
我安装的是jdk 8

2.获取Flutter SDK,配置Flutter镜像源以及Flutter的路径信息
我目前的配置信息如下:

其实我此处有个问题,每次虚拟机关掉重新打开的时候,或者就过一段时间,我再运行flutter doctor时会提示flutter命令找不到,打印PATH信息也会发现没有flutter的路径,但我打开.bash_profile,就发现明明已经配置了flutter。嗐,必须要重新运行source ~/.bash_profile,PATH中才会有Flutter的信息。

呔,太奇怪了!

3.安装Xcode
去AppStore下载安装Xcode

4.运行flutter doctor
接下来就运行命令flutter doctor,检查flutter的环境

说来惭愧,最开始看到Android toolchain打叉叉,以为必须要绿了才成功,可把我折腾坏了!最后还是依靠网友的帮忙,知道了如果只进行ios运行打包的话不安装Android SDK也行的~

三、Flutter实践

1. 模拟器

1)在Mac中创建flutter项目,并运行在ios模拟器上
从在 macOS 上安装和配置 Flutter 开发环境学习到如下方法:
运行以下命令,创建一个flutter项目,并进入该项目中

flutter create my_app
cd my_app

运行以下命令,启动一个ios模拟器

open -a Simulator

运行以下命令,将该flutter项目运行在ios模拟器上

flutter run

接下来见证奇迹的时刻到了~~

事实证明我的flutter环境搭建成功啦~~接下来就是要运行下自己在Window开发的flutter项目喽

2)在Mac虚拟机上运行Window上开发的Flutter项目
可以通过共享文件夹将flutter项目复制到Mac上~
成功后我理所当然的输入flutter run,结果一片爆红,What?!
看提示信息貌似是Flutter的地址关联改变了(抱歉出错的时候没截下来),其实想想也是这个理儿~
好在大神的文章也有解释

在 MacOS 中,删除复制来的项目根目录下的 .packages 文件,并在根目录下执行 flutter pub get,即可直接点亮

于是我开始找.package,尼玛给我找半天没找着!后来想是不是被隐藏掉了,于是去百度Mac如何显示隐藏文件(对于我这样一个从没用过Mac电脑的人真是太不友好了!)嗐,终于解决了!
叮~成功运行

嘻嘻,仿照微博国际版做了个demo,练练手~

2. 真机

下一步就是真机实践了!目前还不需要上架什么的,然后发现网上有很多不需要购买$99的开发者账号也可以实现真机调试,窃喜~
1)首先去Apple官网申请了一个账号
https://appleid.apple.com/account?localang=zh_CN
2)登录苹果开发者中心
https://developer.apple.com/account,Submit一个Apple Developer Agreement
此步骤参考博客【新发现】不用苹果开发账号就能申请ios证书真机调试

该图片也引自该博客
3)在Xcode中进行相关设置
在Xcode中打开项目的ios文件夹

然后我按照一篇博客进行设置:Xcode7.x之后真机调试(没有开发者账号也可调试),虽然过程有些不一样,但最后还是成功了
①先添加Account
Xcode–>Preferences–>Account,登录Apple ID
我登录后的如下图所示,可能是版本的原因和作者的不太一样

点击右下角的Manage Certificates,会出现弹框,需要添加开发者账号
我添加后如下图所示:

②找到Signing,将Team设置为你的开发者账号

③用数据线连接真机
等设备识别出来后,就可以愉快地点击运行了~
若是无法识别设备,请检查一下虚拟机的USB兼容性是否为2.0哦

四、总结

可能还差个环节吧,打包上架,不过看了几篇博客,感觉差不多了,等到时候需要时再上手吧
嗐,折腾了老久了,终于折腾完了!
会看自己走过的弯路,真想一掌拍在自己的天灵盖上!
本文只记录了我成功的大概路径,若是有帮助到您,那是极好的!若是有哪里需要指正的,欢迎提出!多谢!

在Mac虚拟机上运行Flutter项目之山路十八弯相关推荐

  1. 在mac上进行运行flutter项目

    在mac上进行运行flutter项目 连接Android模拟器/模拟器 flutter可以使用Android默认模拟器,或者genymotion模拟器. vscode中启动调试,选择Android设备 ...

  2. 在虚拟机上运行vxWorks

    Vxworks是一个嵌入式系统,主要运行在arm.ppc.mips等嵌入式处理器上,它同样可以运行在X86处理器上.风河公司开发的tornado开发环境就 包括了pentium版本,并且发布了相应的b ...

  3. 路由器逆向分析------在QEMU MIPS虚拟机上运行MIPS程序(ssh方式)

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/69652258 在QEMU MIPS虚拟机上运行MIPS程序--SSH方式 有关在u ...

  4. 【容器技术】在裸机与虚拟机上运行容器:性能和优点

    根据最近的研究,Docker正在像野火一样蔓延,特别是在企业中,它的采用率从2015年的13%上升到了65%以上;另有35%的公司计划使用Docker.根据这些报告,容器采用的主要驱动因素是需要提高研 ...

  5. Android虚拟机运行不了程序,Android程序在Android9.0手机或者虚拟机上运行不了的解决方法...

    1.在虚拟机上我使用的是Android5.0版本,当前manifests的application标签配置如下,正确运行没问题. android:allowBackup="true" ...

  6. 梦幻西游网页版无法在虚拟机上运行【游戏】【页游】【虚拟机】

    辛辛苦苦在macbook上安装了parallel win8 辛辛苦苦在win8上装了梦幻西游网页版 最后居然给我跳出个 虚拟机上不能运行 简直了.百度到的有关问题的解决方案有时针对vm软件的解决方法. ...

  7. 安卓开发问题一:在虚拟机上运行APP不能运行,即闪退现象

    在运行程序时,出现了虚拟机上打开自己写的APP,提示不能运行,也就是闪退的现象. 找了好多论坛,基本上是模拟器与API版本不同导致的,我的后来换了一个AVD设备,莫名其妙的就自己好了 现将解决方法整理 ...

  8. 发布 项目_第十八期科创基金项目发布会圆满结束

    第十八期科创基金项目发布会圆满结束 贺电!贺电! 电子信息工程学院发来贺电:第十八届科创基金项目发布会圆满结束啦!感谢导师们的支持.现场同学的热情参与和科协朋友后勤服务! NUAA 即使是寒冷的冬天也 ...

  9. 虚拟机上部署的项目 访问路径怎么写_桌面虚拟化即将流行开来——基于Hyper-V虚拟机的桌面虚拟化部署...

    2019年10月10日,发过一篇图文,讲的是"基于会话的桌面部署"的配置过程,配置完毕后,客户端用浏览器登录到RDS服务器,就能启动服务器发布的应用,可以视为应用的虚拟化.今天我们 ...

最新文章

  1. python发明者叫什么-python是怎么被发明的
  2. 你不知道的gRPC反向代理
  3. 基于python爬虫技术的应用_基于Python爬虫技术的应用
  4. FFmpeg优化 苏宁PP体育视频剪切效率提升技巧
  5. 最长非单调增序列(最长非单调增序列,,要用N*LOG N(非常值得琢磨的算法。)...
  6. 关于Request.params的知识收藏
  7. iphone分屏功能怎么用_除iOS12.4苹果还为旧款设备推送了更新 来看iPhone迁移怎么用...
  8. sougou ubuntu 优麒麟_Ubuntu20.04LTS安装搜狗输入法
  9. 【FICO】SAP中的银行
  10. 街机中国 FBA4droid 应用
  11. 细数阿里 25 个开源的前端项目
  12. 作文组装计算机,组装电脑作文200字
  13. 手把手教你用 Python 爬虫煎蛋妹纸海量图片
  14. Go设计模式--访客模式
  15. 软技能-代码之外的生存指南读后感 学习篇
  16. 微信小程序之头部选项卡和左侧选项卡
  17. 安卓开发者必看:Android的数据结构与算法——ArrayList源码解析
  18. 很小的文件excel2019内存不足
  19. 计算机应用基础第三版答案,新版《计算机应用基础》各章课后习题-有答案.doc...
  20. python矩阵对角线求和numpy_以numpy计算对角线和(更快)

热门文章

  1. 十行代码写春联?快来学习程序员独有拉满春节氛围“妙招”
  2. 罗子君的鞋为什么值8万块?
  3. 《5G时代十大应用场景白皮书》,如何解锁VR技术发展潜力
  4. 服务器管理器开机显示,服务器每次开机初始化
  5. GFZ数据下载的一种方式分享
  6. 2021天猫汽车爆款清单(最新)
  7. Tame Your Software Dependencies for More Flexible Apps
  8. KDA- 时序推荐中项目关系的时间演化效应
  9. 怎么区分辨别狗狗是否哮喘?
  10. Newifi路由器第三方固件玩机教程,这个路由比你想的更强大以及智能_Newifi y1刷机_smzdm