iOS开发从appStore下载历史版本

时间:2024-03-24 13:32:41

  在实际的开发过程中,我们经常会遇到这样的需求,比如:1)为了验证接口对往期版本的影响;2)覆盖安装测试;3)新旧版本的各种比较测试。为了保证环境统一。我们需要的必要的时候去下载往期的ipa资源。这项能力也是一名经验丰富的iOS开发者所必不可少的。我在网上找到了这篇博客地址:《iOS—-青花瓷运用->下载历史版本App》,注:我亲自验证过了,方案可行,非常感谢原作者的探索和分享。大家可以多多为原作者点赞留言哦。具体步骤如下:
打开青花瓷charles,并将青花瓷抓包mac的各种配置配置好。

1)打开itunes

iOS开发从appStore下载历史版本

2) 搜索需要下载历史版本的App,这里我以IT之家为例

iOS开发从appStore下载历史版本

3)点击获取按钮就会变成正在下载

iOS开发从appStore下载历史版本

4)这时候查看Charles能够看到一大堆请求,看关键字p28-buy,这个是Itunes的下载请求,而且是HTTPS加密的,链接旁边有一把小锁,不能查看里面的内容

iOS开发从appStore下载历史版本

5)打开ssl代理并打断点拦截该请求

iOS开发从appStore下载历史版本

6)进入iTunes删除刚才下载的App,因为刚才只是为了获取下载请求

iOS开发从appStore下载历史版本

7)删除好App后刷新一下,重启Charles,再次点击iTunes的获取按钮

注:由于app不同,链接可能不同,但是有buy字段,另外也不用重启Charles,只需要清空下请求信息就可以了。
iOS开发从appStore下载历史版本

8)可以看到这时候已经能够查看HTTPS请求里面的内容了,点击图中相应位置

注:这个字端我没有在请求里面找到,但是在response里面找到了
iOS开发从appStore下载历史版本

9)往下翻,可以查看到一大串数字,这些全都是该App的历史版本编号,我们只需要把想下载的历史版本的编号复制下来就好,后面会用到,这里我复制第一个11577427,为该app的第一个版本

注:这个数组也是在response里面找到的,另外需要注意的是,最上面的是第一个版本,最下面的是最近的版本,中间的按顺序就可以推断出自己的历史版本信息了。
iOS开发从appStore下载历史版本

10)再次点击获取按钮,下载请求会被拦截,跳转到Charles

注:这个地方应该是少了一个步骤,在刚才的https://p28-buy.itunes.apple.com 上点击右键选择打断点。
iOS开发从appStore下载历史版本

11)这时候把最新的版本号替换成刚才我们复制好的历史版本号

iOS开发从appStore下载历史版本

12)点击Excute执行按钮,可能会来断点2次,除了第一次,后面的都直接点击Excute执行按钮

iOS开发从appStore下载历史版本

13)查看下载好的App的版本号

iOS开发从appStore下载历史版本
注:当然了中间由于charles版本不同,操作可能有些区别,但大体流程就是这样的。非常感谢原作者的分享。大家在使用的时候如果遇到什么问题,非常欢迎大家留言或者私信交流哦。

更多优质文章,可以微信扫码关注:
iOS开发从appStore下载历史版本