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.rhkb.cn/news/143397.html

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

相关文章

Linux(CentOS/Ubuntu)——安装nginx

如果确定你的系统是基于CentOS或RHEL,可以使用以下命令: ①、安装库文件 #安装gcc yum install gcc-c#安装PCRE pcre-devel yum install -y pcre pcre-devel#安装zlib yum install -y zlib zlib-devel#安装Open SSL yum install -y openssl openssl-de…

【力扣每日一题】2023.9.27 餐厅过滤器

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目挺长,估计中等难度是给在了阅读理解上。 简单来说就是给我们一堆餐厅的信息,每个餐厅拥有五个属性&#xff…

HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Badge

可以附加在单个组件上用于信息标记的容器组件。该组件从API Version 7开始支持。 支持单个子组件。子组件类型:系统组件和自定义组件,支持渲染控制类型(if/else、ForEach和LazyForEach)。 一、接口 方法1: Badge(value…

宁德时代Inside,中国智驾Outside!

随着华为Mate 60系列的未发先售,问界新M7的朋友圈疯狂刷屏到今日刘德华惊喜现身的“华与华”发布会,余承东的一句“遥遥领先”彻底出圈。 华为的“遥遥领先”,早已不止步于智能手机领域。在刚刚结束的华为秋季全场景新品发布会上&#xff0c…

那么国内比较好用的ai写作助手?

在过去的几年里,人工智能(AI)已经取得了巨大的进步,其中之一就是AI写作助手。这些工具基于先进的自然语言处理技术,可以生成多种类型的文本,包括文章、博客、广告文案、新闻稿等。它们不仅可以提供高质量的…

laravel设置与获取header请求头

laravel设置与获取header请求头 设置 <?phpnamespace App\Http\Controllers\Text;use Illuminate\Http\Request; use App\Http\Controllers\Controller;class TextController extends Controller {public function TextCC(Request $request){$token $request->header(j…

JAXB(Java Architecture for XML Binding)下载、使用

简介 JAXB&#xff08;Java Architecture for XML Binding&#xff09;就是XML数据绑定的java架构。JAXB可以根据XML Schema生成java类&#xff0c;也能根据java类生成XML Schema&#xff0c;能将XML数据unmarshall到Java内容树&#xff0c;也能将Java内容树持久化为XML数据。…

优化Python开发环境的几个神技巧

用Python编代码体验极佳&#xff0c;并且随着新版本的发布越来越好&#xff01; 对于很多人而言&#xff0c;Python提供的大量免费函数库、高可读性的程序和新引入的类型注释让很多爱不释手。 然而&#xff0c;数据科学家特别容易使自己的Jupyter notebook变得庞大而杂乱&…

Archlinux Timeshift的系统备份与还原

服务器在滚挂或误删系统文件,timeshift系统备份与还原的情景: 安装 timeshif 1 yay -s timeshif 备份设置 选择快照类型 此处选择【RSYNC】 选择储存位置 每台设备安装分区不一样,大家安装实际情况选择,一般选择比较大的空间存储,并且最好是机械,这样不容易损坏 设置计…

Hashable/哈希协议, Arrays/数组 的使用

1. Hashable 模型实现哈希协议 1.1 实现 /// Identifiable struct MyCustomModel: Hashable{//let id UUID().uuidStringlet title: Stringfunc hash(into hasher: inout Hasher) {hasher.combine(title)} }/// 哈希协议: 唯一标识值 struct HashableBootcamp: View {// 每个…

xorm数据库操作之Join、Union

golang的数据库操作xorm使用起来非常方便&#xff0c;不用再自己写SQl语句&#xff0c;而且xorm自己给我们做了SQL防注入等操作&#xff0c;用起来既方便又安全。此次文章我不会记录xorm的基本操作&#xff0c;我值记录一些特殊用法问题&#xff0c;包括动态创建表单、基于xorm…

2023工博会 | 上海添力网络营销公司 | 助力工业品线上推广

2023年9月23日&#xff0c;为期五天的工博会正式落下帷幕。本届工博会不仅有数量&#xff0c;更加有质量&#xff0c;国内外企业纷纷拿出看家本领&#xff0c;围绕着“绿色低碳”、“数字化转型”、“数字经济”、“科技创新”、“智能制造”等主题进行推陈出新。 本次工博会也…

el-collapse 嵌套中 el-checkbox作为标题,选中复选框与el-tree联动

<el-drawertitle"应用授权":visible.sync"menuDrawer"><el-collapse accordion style"padding: 15px"><el-collapse-item v-for"item in platList"><template slot"title"><el-checkbox v-model…

高频工业RFID读写器的主要应用

随着通信技术的迅速发展&#xff0c;RFID的应用也逐渐广泛&#xff0c;产线、零售、身份识别、金融领域、门禁安全等各个方面都有RFID的身影。其中很多应用都是以高频技术应用为主&#xff0c;下面我们就跟大家一起来了解一下&#xff0c;高频工业RFID读写器的主要应用包括哪些…

BGP服务器租用价格表_腾讯云PK阿里云

BGP云服务器像阿里云和腾讯云均是BGP多线网络&#xff0c;速度更快延迟更低&#xff0c;阿里云BGP服务器2核2G3M带宽优惠价格108元一年起&#xff0c;腾讯云BGP服务器2核2G3M带宽95元一年起&#xff0c;阿腾云分享更多云服务器配置如2核4G、4核8G、8核16G等配置价格表如下&…

对象数组合并和去重

数组去重: 普通字符串/数字数组去重: 1. 利用Set的特性 > new Set(arr) 2. for遍历, indexOf判断是否存在 3. 利用对象去重, 因为对象的key有唯一性 数组合并: 可以使用克隆(克隆, 深克隆的那些方法) 对象数组去重: for循环, find或者findIndex判断是否存在, 然后不存…

某瑞集团安全技术研发岗位面试

本文由掌控安全学院 - sbhglqy 投稿 一、自我介绍 阿吧阿吧&#xff0c;不多说 二、就ctf比赛经历方面提些问题 面试官&#xff1a;ctf打了多久了 我&#xff1a;两三年了。 面试官&#xff1a;得过什么奖项没有 我&#xff1a;本科的时候得过一个校一等奖。 面试官&#x…

路径依赖

今天聊会路径依赖&#xff0c;前两天看到一个老同事还在从事他十多年做的事&#xff08;软件行业里一个比较细分的领域&#xff09;&#xff0c;当初可完全是一个偶然的因素入了这行&#xff0c;不成想这一做就是十几年。他说“我只能干这个&#xff0c;其他也不会啊&#xff0…

服务网关Gateway_三大核心概念

路由(Route) 这是网关的基本构建块。它由一个ID&#xff0c;一个目标URI&#xff0c;一组断言和一组过滤器定义。如果断言为真&#xff0c;则路由匹配。 断言(predicate) 输入类型是一个ServerWebExchange。我们可以使用它来匹配来自HTTP请求的任何内容&#xff0c;例如head…

【小程序 - 基础】WXML、WXSS语法以及小程序的配置、网络数据请求_03

目录 一、WXML模板语法 1. 数据绑定 1.1 数据绑定的基本原则 1.2 在 data 中定义页面的数据 1.3 Mustache 语法的格式 1.4 Mustache 语法的应用场景 2. 事件绑定 2.1 什么是事件 2.2 小程序中常用的事件 2.3 事件对象的属性列表 2.4 target 和 currentTarget 的区别…