macOS 上利用虚拟机进行 iOS 旧版本 App 下载安装

4 min


macOS 的 iTunes 根本没办法下载 App,这次将以把 X 降级回 Twitter 为示例,示范一下如何下载旧的 App 并安装到手机中。

必备条件

  1. Windows,可以是虚拟机,可以是 ARM 版本
  2. iTunes 12.6.5 64bit,下载地址
  3. Charles Proxy,官网下载,免费试用就够用了,也可以用其他抓包应用,如 Fiddler、Wireshark 等

教程

首先,先安装 iTunes 到 Windows 当中,我在 Windows 11 ARM 64 版本会遇到错误信息,但不影响操作,直接按忽略跳过就好了。

▼ 打开 iTunes,点击菜单,按编辑,把 Apps 的选项打开,再切换过去 Apps

▼ 接着登入 iCloud / iTunes 账号,然后查找你要降级的 App。找到 App 之后,iTunes 先停在这个画面就好。

macOS 上利用虚拟机进行 iOS 旧版本 App 下载安装

▼ 接下来我们安装 Charles,安装完毕进入,选择「Help」→ 「SSL Proxying」→ 「Install Charles Root Certificate」

▼ 之后在跳出的窗口按安装,选择目前用户,在下一个步骤要按下方图片的方式选择「Trusted Root Certification Authorities」〔可能需要自己对照一下中文叫什么〕,之后就一路「下一步」安装证书即可

回到 iTunes,按下载 App,这时候 Charles 左边会出现一个「pxx-buy.itunes.apple.com」的记录,xx 的数字每个人会不一样。

▼ 按右键对「pxx-buy.itunes.apple.com」选择「Enable SSL Proxying」跟「Breakpoints」

之后,回到 iTunes,选择 App 本地的资源库,把刚刚下载的 App 删除,并选择丢到垃圾桶,然后再重新下载一次 App

▼ 这时候 Charles 会跳出一个窗口,上面选择「Edit Request」,下面选择「Text」就会看到我们发出去的下载请求,这边有个「appExtVrsId」就是版本号,我们稍后会需要修改这个版本号指定下载旧版。不过因为目前我们还不知道旧版的号码是什么,所以这边就先不管他,按「Execute」继续运行。

▼ 接下来 Charles 又会再跳一次窗口,上面选择「Edit Response」,下面选择「Text」就会看到服务器传回来的回应,这边有一个「softwareVersionExternalIdentifiers」就是各个版本的代号,越下面的数字越新,所以通常我们就是回推一下要降级的版本是倒数第几个号码就行了。

以最后一版图标还是鸟的 Twitter 来说,版本是 9.67,对应数字是「858502327」,这边先把数字记下来就好,然后 Charles 就继续一直按「Execute」,直到 App 下载回本地,我们再去数据库里面删除。

▼ 再来我们要第三次下载 App,这一次在 Charles 第一次跳窗口的时候,带入我们要的数字进去,改好之后一路 Execute 到底,让 iTunes 去下载 App

▼ 下载完之后你会发现怎么图标还是「X」,这是因为 iTunes 会去抓最新版本的图标,但若查看信息的话,会看到确实下载的版本是 9.67 版

▼ [非必须步骤] 因为 IPA 文件其实都是 zip 压缩文件,所以可以用编辑 zip 的软件打开,例如我用 BetterZip。然后把 iTunesMetadata.plist 删除,再储存整个 IPA,这样当这个 IPA 安装到手机上的时候,App Store 不会跳出关于这个 App 的更新,也就是说可以不必担心误触更新把旧版 App 洗掉了!

IPA 安装方式

用 iMazing,接上手机之后选择「Manage Apps」,然后把 IPA 文件拖进去里面就好了


Like it? Share with your friends!

0
Anonymous

Choose A Format
Story
Formatted Text with Embeds and Visuals
List
The Classic Internet Listicles
Countdown
The Classic Internet Countdowns
Open List
Submit your own item and vote up for the best submission
Ranked List
Upvote or downvote to decide the best list item
Video
Youtube and Vimeo Embeds