如何快速下载并安装 iOS 模拟器

Xcode 模拟器下载界面

Xcode 模拟器下载界面

相信很多朋友们一定遇到过这样的问题:国内特殊网络情况下,使用 Xcode 下载动则几个G的 iOS Simulator 大多数时候会很糟心且非常不愉快。有不少开发者可能选择网盘下载其他人上传的文件,其实我是不太敢这么做的(如果你还记得 XcodeGhost事件 的话,相信会明白我写这篇文章的初衷)。那么,有没有办法从苹果官网快速下载并安装各类模拟器呢?

当然有,今天就来教大家一个小敲门。

实现思路

  1. 找出对应 iOS Simulator 的下载路径
  2. 使用第三方多线程工具下载
  3. 将下载好的 dmg 文件移动到 Xcode 模拟器文件夹

1. 找出 iOS Simulator 的官网下载路径

在 Xcode 设置界面中 Componets 选项卡里点击开始下载对应版本的模拟器,比如我想要下载的是 iOS 11.0 Simulator(上图) ,然后 Option + 空格 唤出 Spootlight Search 并输入 Console 启动 macOS 自带的控制台。此时,系统中所有的后台情况都可以通过 Console 发现其踪影,包括 Xcode 正在下载的文件。在 Console 的右上角搜索框输入 download 过滤掉我们此刻不关心的其他事项,生剩下一堆信息中肉眼观察发现 Xcode 正在下载某个文件,那正是我们需要找到的下载地址。

在 Console 中找到 iOS Simulator 下载路径

在 Console 中找到 iOS Simulator 下载路径

2. 使用第三方多线程下载工具

上一步找到 iOS Simulator 对应版本的真实下载地址之后,启动第三方下载工具开启多线程下载吧!不少朋友可能安装了迅雷,而我比较偏向于使用一个非常轻量级的开源下载工具 Axel (请不要问我为什么不用迅雷,谢谢)。按照 Axel 最简单的使用方法,我们在命令行执行如下命令启动100个线程下载 iOS 11.0 Simulator :

axel -n 100 https://devimages-cdn.apple.com/downloads/xcode/simulators/com.apple.pkg.iPhoneSimulatorSDK11_0-11.0.1.1508875951.dmg

原本半天没什么进度的下载过程,在电信网络环境下大概6分多时间完成大概2G文件的下载:

Downloaded 1.94257 Gigabyte(s) in 6:44 minute(s). (5041.55 KB/s)

为什么 Axel 下载文件会如此之快呢?有关于 Axel 的一点介绍:

Axel tries to accelerate the download process by using multiple connections per file, and can also balance the load between different servers.
Axel tries to be as light as possible, so it might be useful on byte-critical systems.
Axel supports HTTP, HTTPS, FTP and FTPS protocols.
Thanks to the original developer of Axel, Wilmer van der Gaast, and everyone else who has contributed to it over the years.

3. 将模拟器移动到 XCode 对应的文件夹并安装

Xcode 打开项目并显示内容

Xcode 打开项目并显示内容

下载回来的 dmg 文件不要改名,也不要做任何其他处理。在 Finder 中打开 ~/Library/Caches/ 文件夹并在其中找到一个 Xcode 项目 com.apple.dt.Xcode ,右键选择 Show Package Contents 打开这个项目的内容。把下载回来的 dmg 文件复制到这个项目内的 Downloads 文件夹(如果没有这个文件夹的话,新建一个同名文件夹即可)。此时,重启一次 Xcode 并再次打开 Components 选项卡,再重复点击一次对应版本的那个模拟器下载按钮,这时 Xcode 会直接提示你是否需要安装,选择OK开始安装过程。等待一段时间之后,iOS Simulator 就可以正常使用了。

版权声明:本站所有内容,未经书面授权禁止一切形式的转载、摘录及摘抄,违者依法追究其相关责任。

相关文章