场景: 应用内增加了提示版本更新功能, 但是用户点击时,跳转到 App Store 上面仍然是显示以前的旧版本, 原因是苹果更新版本是有 CDN 缓存的
解决:
下载 App Store 历史版本
- Mac 打开 itunes
- 搜索需要下载的 App
- 点击下载
- Charles 检测,下载时的网络请求
- https 代理监听抓包 , 目标地址 :
https://p28-buy.itunes.app.com
, 查看buyProduct
接口返回的contents
, 里面有个版本号id数组. 按需选择想要的版本号 id. - Charles 拦截
buyProduct
的接口 - 删除目前正在下载的 App
- 再次点击下载
- 当请求走到
buyProduct
时会自动停下, 这时候, 编辑请求 Edit Request, 替换本次需要下载的appExtVrsId
字段, 也就是上面想要的 历史版本号id, 然后继续执行请求 Excute , 当再次断点走到这里的时候, 确认当前请求的历史版本 id, 如果没有问题,直接执行 Excute . - 检测下载好的 历史版本包.
具体抓包的截图, 使用了上面链接内容中的

网友评论