最近看到一个开源工具tidevice,是可以脱离mac来做ios自动化测试的。看到这么方便,就想着来尝尝鲜。但由于使用该工具,是需要基于WebDriverAgent的,该工具又需要使用Xcode重签名安装。手边没有mac电脑,所以就装个黑苹果来捣鼓下吧。安装过程并不顺利,也有失败的经历。想了想,还是写篇博文记录下,也算是爬坑了。
安装过程一些繁琐的步骤就不细述了,把爬坑以及注意的地方记录下。
VMware环境
黑苹果系统是安装在虚拟机中的,所以需要先有VMware。具体的安装流程,就不多说了,都是正常安装流程,按部就班往下走就行。
VMware最好使用最新版本,之前我用VMware12,新建虚拟机的时候,最高版本只能选到MacOS 10.12。但更新成VMware16后,就可以选到10.15版本了。
安装完成后,需要注意,此时新建虚拟机,系统是选不到Mac的,那该如何解决呢?我们来看。
unlocker补丁
unlocker补丁,就是用来解决,新建虚拟机选不到Mac系统的问题。该工具github地址如下:unlocker补丁 ,可以clone或下载zip包。下载后,先别急着使用,需要注意一个地方。
有些博友可能已经有了VMware或者刚安装的,但可能已经使用过了,这样的话,会自动启动4个服务。在打补丁的时候,需要将对应的4个服务给停用掉,具体哪4个,以大写的VM开头,如下图所示:
如果如图中所示,都是启用状态的话,需要先手动停止,不然会导致补丁失败。
服务停止后,我们打开unlocker包,里面有个win-install.cmd可执行文件,以管理员身份运行,等待程序自动安装,安装成功后dos命令窗口会自动关闭。
创建Mac虚拟机
上个步骤将补丁安装后,我们打开VMware软件,新建虚拟机,在选系统的时候,可以看到,会多出来一个Apple Mac OS X的选项,如下图所示:
版本最好选择最新版,在后续安装Xcode的时候,需要要求环境是最新版。
还有个注意点,就是磁盘空间需要大一点,我安装下来,系统更新,安装Xcode,占用了60G左右。
后续步骤也一步步对应配置就好,不细述。
安装系统
创建成功后,是不是有点忍不住?立马点击开启虚拟机,但事实是残酷了。映入眼帘的是一个报错弹框,如下所示:
解决办法:
进入到虚拟机的文件路径,就是创建虚拟机时,选择的保存路径。找到vmx文件,用记事本编辑,增加如下配置:smc.version = "0"。
添加后重启虚拟机,再次启用虚拟机,就正常进入到系统安装页面了,如下所示:
到了这,就等待加载完,可以休息一会
加载完后,就进入到了基础配置,如下所示,按需配置就行
系统安装时,需要选择一个安装磁盘,但只能选到默认磁盘,选其会提示磁盘空间不足。
解决办法:
在选择磁盘页面,有个实用工具入口,如下所示:
我们选择磁盘工具,会弹出一个弹框,将内置磁盘抹掉,格式选择为可扩展的。
关闭弹框后,我们继续安装系统,就有选到我们抹掉的磁盘了,如下所示:
到了这步,就可以喝杯小茶休息下了,我们静候佳音。
等安装完成后,会自动重启并进入设置界面,如下所示:
这里的后续设置也就跟配置windows系统一样,登录appleid账号,配置网络等待。
在设置网络的时候遇到过一个问题,就是连不上网。
解决办法:
方法一:
将虚拟机的网络连接方式配置为桥接模式
方法二:
如果使用方法一还不行,就将物理机的网络设置为共享,在网络属性中配置;再将虚拟机的网络连接方式配置为 仅主机模式 即可。
安装VMwareTools
系统安装完成后,发现安装不了VMwareTools,提示报错: 无法在更新服务器上找到组件。请联系 VMware 技术支持或您的系统管理员。
解决办法:
挂载新的镜像文件(darwin1012.iso),重启后桌面会展示安装入口。
重启后是正常展示了安装入口,但安装的时候又提示报错了,如下所示:
解决办法:
将虚拟机中的磁盘弹出,操作如下图所示:
好了,我们继续安装VMwareTools,这下可以正常安装成功了,如下所示:
但期间如果弹出如下提示:系统扩展已被阻止
解决办法:
我们到系统设置中,将安全性与隐私配置为允许即可。
到此,虚拟机中的Mac系统就算是安装成功了。是不是急切的想安装Xcode试一试了。安装Xcode我也是爬了好几个大坑,在这里也一起记录下。
Xcode安装
App Store中搜索不到Xcode
如果安装的是低版本系统,比如10.12,打开App Store是搜索不到Xcode,然后呢,我就去下载历史版本的Xcode。比如:Xcode8.1,Xcode9.1来解决
Xcode编译程序提示不是App Store安装
做了上述步骤,自己漫长等待下载了Xcode,上传到虚拟机中并安装,拉取代码准备编译时,提示Xcode不是App Store安装,不能编译,直接报错了。
Xcode连接真机一直是未验证设备
我们都知道,Xcode连接真机,是需要在手机上信任设备的,这个步骤验证后,在Xcode应该显示为验证设备才对,但不好意思,我尝试的低版本,一直都是未验证设备。
如上这些问题,都是在安装低版本的时候遇到的。所以在博文开篇处,我建议是安装最新版本。后面我是怎么解决了这些问题呢?
-
更新VMware版本,更新到了16
-
使用高版本的镜像包,在创建虚拟机的时候,选择的系统版本是os 10.15
-
Mac系统安装成功后,先检测新版本,如果有,则更新
-
系统更新成功后,使用App store 搜索Xcode并安装
-
使用Xcode编译代码,一起正常
-
使用Xcode连接真机,也一起正常。只是首次连接,会自动下载对应真机版本的包,需要等待会
刚才谈到的这3个问题,在系统是最新版本的情况下,并且是在APP store中安装Xcode,得到了解决。
在爬坑的过程中,的确是有点难受。
最后附上安装黑苹果需要使用到的工具链接,希望对有需要的朋友有所帮助。
链接: https://pan.baidu.com/s/1XUahhv5c0Zs9A2zP9_Ns2w 提取码: qqnm