IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    【技术贴】IOS如何下载旧版本应用

    轩枫发表于 2016-03-04 16:16:26
    love 0

    前言

    有时IOS应用更新至最新版本之后,新版UI风格、使用习惯、功能不喜欢,但又不知道如何降级安装旧版本。例如UC浏览器春节前更新版本,某些原因下架了文件管理、离线视频、微信分享等功能,其App Store评分从四星半降至1星。

    同步助手曾提供下载App历史版本的功能,但现在也不复存在。

    本文将介绍如何使用iTunes下载安装App Store任意版本旧程序。技术贴,需要大家耐心阅读操作。

    iphone-6-review-display-app-store-

    准备工作

    1. 下载安装iTunes,熟悉使用iTunes的App Store。
    2. 下载安装Fiddler(官网下载)

    win8以上系统建议安装Fiddler for .NET4

    werfwetr2

    原理

    通过抓包软件查看App的历史版本ID,通过修改请求下载指定版本App。

    操作步骤

    1. 设置Fiddler

    打开 Fiddler,选择菜单栏 -> Tools -> Fiddler Options,在 HTTPS 选项卡中勾选 Decrypt HTTPS traffic,然后重启Fiddler。

    esdgs

    注意:如果出现安装证书失败或打开 iTunes 无法加载页面的情况,请参考附录。

    2. 打开iTunes,搜索要下载的App

    以UC浏览器为例

    qefrwef

    3. 点击下载,等右上角出现箭头后删除下载

    选中下载按2次Delete键即可删除

    4. 在Fiddler查找相关请求

    找到p15-buy.itunes.apple.com、URL开头为 /WebObjects/MZBuy.woa 的请求,切换右侧至 Inspectors 选项卡,并点击中间的黄色块(Response is encoded and may need to be decoded before inspection. Click here to transform.)

    sdfgdfgdfg4

    5. 保存该请求

    右键请求 -> Save -> Response -> Response Body。需要注意的是,如果没有点击黄色方块,将会保存一个乱码文件。

    6. 寻找App版本列表

    打开该文件,搜索找到 softwareVersionExternalIdentifiers,其后一系列数字为该APP版本号。从上往下为该 App 自第一个版本起每个版本在 App Store 中的版本 ID。如何确定下载什么版本?

    sffsfcdzcszfdcsdf

    7. 重新下载

    确认需要下载的版本ID后,复制。例如,下载UC浏览器10.7版本的ID为814450049。

    在 iTunes 中重新搜索App。

    然后切换到Fiddler,清空请求(CTRL+X),在左下角黑色输入框输入 bpu MZBuy.woa(取消断点为输入bpu)

    FGSDGVSRSesfwerf

    返回 iTunes, 点击下载。

    回到 Fiddler 后会出现红色图标的请求,点击请求显示Inspectors栏编辑版本 ID 为需要下载的版本 ID。

    wefserfrgf

    最后点击绿色按钮(Run to Completion)发送请求,进行下载。

    下载过程中需要保持 Fiddler 和 iTunes 一同打开,不可关闭。

    8. 下载安装

    App下载完毕后,找到.ipa安装包,在常用的软件(PP助手、iTools)中安装。

    sfdsfsaf

    附录

    1. UC浏览器精彩评论

    IMG_7556

    2. Fiddler安装证书

    • Fiddler 菜单栏 > Tools > Fiddler Options > HTTPS 选项卡。
    • 选择下方的 Export Root Certificate to Desktop。
    • 桌面上会出现一个“FiddlerRoot.cer”文件,右键安装证书。
    • 安装证书的位置选择第二个,并点击“浏览”,选择“信任的根证书存储”。

    3. 如何确定下载什么版本?

    从上往下为该 App 自第一个版本起每个版本在 App Store 中的版本 ID。可以选择倒数第二个版本下载,如果需要精确下载某版本,可通过以下方式:

    按照步骤4找到的请求,拖拽至Fiddler右侧Composer栏,在Request Body中找到appExtVrsId位置,编辑右侧版本,最后点击右上角Execute按钮。(如果出现红色图标,则输入bpu取消断点)

    ewfwefewgvwerg

    左侧找到新请求,双击并搜索bundleShortVersionString,可找到ID对应版本号。

    71212PZOKN@0NTSIO93NCY

     

    如果觉得有用,欢迎分享^_^



沪ICP备19023445号-2号
友情链接