当前位置: 首页 > news >正文

iOS自动化测试方案(一):MacOS虚拟机保姆级安装Xcode教程

文章目录

      • 一、环境准备
      • 二、基础软件
      • 三、扩展:usb拓展插件

一、环境准备

1、下载VMware虚拟机的壳子,安装并注册软件(可以百度注册码),最新版本:v17
2、下MacOS系统iOS镜像文件,用于vmware虚拟机安装,当前镜像最新版本:v11.6

二、基础软件

1、MacOS系统找到App Store,这点同iphone操作,搜索Xcode点击安装

2、不出意外的话还是出意外了,原因会告诉你:最新Xcode版本不适合在当前MacOS版本
在这里插入图片描述

3、先关闭app store,MacOS系统桌面右上角苹果图标进入“关于本机”查看macOS版本
在这里插入图片描述

4、实际在下载iOS镜像文件的时候就知道了版本号[iOS镜像已知版本号]
在这里插入图片描述

5、再回到App store应用商店,找到Xcode版本历史记录
在这里插入图片描述

6、往下找,一直到与当前MacOS版本比较接近的Xcode版本号;记住MacOS虚拟机是macOS Big Sur型号;得到Xcode版本12.5.1适合当前版本系统
在这里插入图片描述

7、登录苹果开发工具并下载Xcode:登录mac账号后,搜索Xcode版本号,找到对应Xcode版本下载安装
在这里插入图片描述

8、下载后双击解压缩得到Xcode.app,将Xcode.app复制到Applications替换原有的Xcode,

若有其他App在Appstore中因为macOS版本要求过高无法安装时,也可采用类似方法手工安装。
在这里插入图片描述
这个过程稍久,签名验证、解压
在这里插入图片描述
直到解压得到Xcode安装包,双击安装即可
在这里插入图片描述

9、安装过程:就是同意、下一步、验证;

唯一不同的是没有win系统可以选择安装路径
在这里插入图片描述
Xcode安装components工具组件
在这里插入图片描述

10、安装成功,启动应用
在这里插入图片描述

11、点击create创建新项目,选择app【这里不需要管,咱们是测试,不是iOS developer】
在这里插入图片描述

12、打开终端输入xcrun,如果没有它提示是否安装。
在这里插入图片描述

13、安装软件包管理器Homebrew

测试使用:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"  它被拦了
建议使用国内镜像:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

在这里插入图片描述

1、执行后,第一步选择镜像源
2、确认开始执行
3、输入本机密码
4、会弹窗安装git(没弹是因为前面还在安装xcrun)
在这里插入图片描述
Y,我也不知道有啥,反正就是继续深造
在这里插入图片描述

14、保留卸载命令

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"

Xcode开发工具安装完成,结束!

三、扩展:usb拓展插件

mac虚拟机已经安装好了,需要将iphone设备与虚拟机连接起来
在这里插入图片描述
通过usb将win系统的压缩包给解压到mac系统
在这里插入图片描述
双击zip解压即可
在这里插入图片描述
虚拟机通过usb识别,在xcode可以选择识别的iphone设备即可
在这里插入图片描述

日拱一卒无有尽,功不唐捐终入海!

http://www.lryc.cn/news/172295.html

相关文章:

  • vue3 - Vue 项目处理GitHub Pages 部署后 _plugin-vue_export-helper.js 404
  • 一百八十一、Hive——海豚调度HiveSQL任务时当Hive的计算引擎是mr或spark时脚本的区别(踩坑,附截图)
  • Linux 隔离网段下端口转发
  • 【CDN和UDN】CDN和UDN技术特点以及使用场景
  • 【Linux】改变缓存路径、清理缓存
  • python+opencv寻找图片或视频中颜色进行追踪之HSV颜色处理
  • ubuntu 22.04 服务器网卡无IP地址
  • 基于SpringBoot的网上点餐系统
  • 浅谈xss
  • 悬崖边:企业如何应对网络安全漏洞趋势
  • MyBatis 动态 SQL、MyBatis 标签、MyBatis关联查询
  • 在Vue中使用Immutable.js
  • 基于Yolov8的工业端面小目标计数检测(1)
  • 1.什么是jwt?jwt的作用是什么?2.jwt的三个部分是什么?三者之间的关系如何?3.JWT运行的流程是什么
  • 十三、MySql的视图
  • MFC扩展库BCGControlBar Pro v33.6亮点 - 流程图、Ribbon Bar功能升级
  • 前端 JS 经典:文件流下载
  • SSL免费证书会报安全提示吗?
  • 为什么要选择Spring cloud Sentinel
  • 第八天:gec6818arm开发板和Ubuntu中安装并且编译移植mysql驱动连接QT执行程序
  • 使用JavaScript实现图片的自动轮播
  • React 如何拿时间戳计算得到开始和结束时间戳
  • leetcode114 二叉树展开为链表
  • Linux系统上使用SQLite
  • 实现一个超级简单的string类(基于c++)
  • uniapp存值和取值,获取登录凭证 code方法
  • 【SpringCloud微服务全家桶学习笔记-服务调用Ribbon/openFeign】
  • Qt使用I.MX6U开发板上的按键(原理:将电脑键盘方向键↓在Qt中的枚举值与开发板中按键定义的枚举值一致,这样电脑端测试效果就与开发板的一致)
  • C++ RAII在HotSpot VM中的重要应用
  • python随手小练