FurionXin的博客

iPhone安装任意版本的App

Mac上为iPhone下载任意版本的App

当我们在使用一个应用或者在玩一个游戏的时候发现新版本并不好用,新版本游戏要开始收费了。这时候我们想要下载旧版本。但是App store又没有历史版本下载,这时候该怎么办呢。如果你的手机已经越狱了,可以通过PP助手下载历史版本,可是大多数人的手机都是没有越狱的。这时候我们就需要使用Charles或fiddler这样的抓包工具和iTunes来为你的iphone下载想要的历史版本应用。以下操作均在MacBook上运行

1.连接iTunes store并通过Charles抓包

Charles是一款跨平台的抓包工具。可以截获http和https的数据包。还可以截获某个数据包进行修改转发等比较方便的手段。Charles是收费应用,免费版每半个小时退出一次,当然网上也有破解版下载。下载安装之后我们就可以开始抓包了。
首先连接iTunes store并下载需要的应用,在右上角出现下载的图标后双击取消下载。

然后查看Charles中抓包情况,

这个包本身是https的,并不能直接查看包内信息,需要申请CA证书,配置到Charles上方可调试https的包,具体的流程可以百度,这里就不细说了。我们可以看到它发出的请求,查看response,会发现softwareVersionExternalIdentifiers这个字段,这个就是该App的历史版本代号

有了这些代号,我们就能下载任意版本的App了。

2.截获数据包并进行转发

为该请求设置断点,

在iTunes store中重新下载该应用,这时候Charles会截取住断点,程序会卡住,我们在之前的列表中选择一个版本代号替换掉请求中的appExtVrsId字段即可,然后点击Execute,会实现数据包转发,开始下载历史版本。

下载好后就可以用iTunes或者PP助手等工具安装了

3.去掉更新提醒

但是下载旧版本有烦人的广告更新怎么办,解压刚下载好的ipa包,删除其中的iTunesMetadata.plist,然后把它重新打包。

1
FurionLiudeMBP:Desktop furionliu$ zip -r QQmail.ipa QQ邮箱\ 5.0.1

将生成的新ipa包通过PP助手或者iTools安装在你的手机上即可,这样你就能在你的非越狱上使用应用的旧版本了。如果大家有什么问题可以再下面给我留言。。欢迎交流。。