# 手贱更新了 App 又想回去？这里有后悔药 \| 有用功

- 作者：刘志鹏
- 发布时间：2016-01-28 12:23
- 原文：https://www.ifanr.com/app/611926

[![11](https://s3.ifanr.com/wp-content/uploads/2016/01/1123.jpg)](https://s3.ifanr.com/wp-content/uploads/2016/01/1123.jpg)

我有一个坏习惯：总是在第一时间更新应用。

有时仅是克制不住自己的好奇心，有时也是为了给大家带来最新的体验文。然而所有更新中总会有十有一二让我有些措手不及：迭代后新增加的 bug 可能几周后才能得到修复，而某些应用的「大变脸」则会让我彻底失去继续使用下去的信心。喜欢折腾应用的你相信也吃了不少这种苦头，而这篇「有用功」便为大家介绍一种方法，让你**无需越狱**，只需八步便可纵情滚回到**已购应用**的任何一个历史版本。

> 本文中提到的方法来源于 Reddit，可[点击此处](https://www.reddit.com/r/jailbreak/comments/3y6ax5/tutorial_how_to_legally_download_any_previous/)查看原帖。另外此方法需在电脑端使用 iTunes 以及抓包应用 Charles，Charles 的官方版本提供 30 天免费试用，可[点击此处](https://www.charlesproxy.com/download/latest-release/)进行下载。

1\. 打开 Charles 再进入 iTunes 中应用的详情页面（这里以 PCalc 为例），你会发现 Charles 的 Structure 列表已经开始出现一些乱七八糟的链接了（没反应的话请检查你的网络代理是否处于关闭状态）。此时点击应用的下载按钮，开始下载后点击右上角的下载图标，选中其中的应用按下键盘上的 Delete，以取消下载过程。

[![1](https://s3.ifanr.com/wp-content/uploads/2016/01/137.jpg)](https://s3.ifanr.com/wp-content/uploads/2016/01/137.jpg)

2\. 在 Structure 列表中找到包含 http://pxx-buy.itunes.apple.com 的一行，右键点击后选择弹出列表的 Enable SSL Proxying。

[![2](https://s3.ifanr.com/wp-content/uploads/2016/01/229.jpg)](https://s3.ifanr.com/wp-content/uploads/2016/01/229.jpg)

3\. 刷新应用详情页面，再次点击下载，在弹出窗口中选择 Continue 后再次取消下载。回到 Charles，你会发现列表中第二次出现 http://xxx-buy.itunes.apple.com 的身影。连续点击左侧的三角形以展开其子文件夹，直到选中最后的 buyProduct 文件。

[![3](https://s3.ifanr.com/wp-content/uploads/2016/01/327.jpg)](https://s3.ifanr.com/wp-content/uploads/2016/01/327.jpg)

4\. 选中后点击右侧页面上方的 Response 一栏，之后右键点击 buyProduct 文件，选择 Export，将文件格式指定为 XML Summary File，并保存在你的桌面上。

[![4](https://s3.ifanr.com/wp-content/uploads/2016/01/421.jpg)](https://s3.ifanr.com/wp-content/uploads/2016/01/421.jpg)

5\. 将该文件用你常用的文字编辑器打开，浏览文件直到找到连续多行形如 &lt;integer&gt;1234567&lt;integer&gt; 的代码，其中每行代码中的数字便是对应特定历史版本的 Version ID 了，Version ID 大多按照版本的时间顺序排列，我们只需复制目标版本对应的那行数字即可。不过也存在例外的情况，这时我们也只能一一尝试了。

[![5](https://s3.ifanr.com/wp-content/uploads/2016/01/523.jpg)](https://s3.ifanr.com/wp-content/uploads/2016/01/523.jpg)

6.像之前一样右键点击 buyProduct 文件，这一次选择 Edit 并选中右侧的 Text 一栏，将前几行中出现的 Version ID 替换成你剪贴板中的数字，点击 Execute 。下滑右侧页面直到找到 &lt;key&gt;bundleVersion&lt;key&gt; 一行，下一行的数字便是此时具体的版本号啦。如果与期望不符，你可以重复上两步操作，粘贴其他的 Version ID。

[![1 copy](https://s3.ifanr.com/wp-content/uploads/2016/01/1-copy.jpg)](https://s3.ifanr.com/wp-content/uploads/2016/01/1-copy.jpg)

7\. 再一次右键点击最后一个 buyProduct 文件，这一次选择 Breakpoints。现在我们回到 iTunes，并第三次下载你的目标应用。由于我们之前设置了断点，所以点击下载后 Charles 会自动跳出，这时我们选择右侧顶栏的 Edit Request 以及底栏的 XML Text。再一次替换掉文件前几行中出现的 Version ID，点击 Execute，在弹出的页面中再一次点击 Execute。

[![8](https://s3.ifanr.com/wp-content/uploads/2016/01/83.jpg)](https://s3.ifanr.com/wp-content/uploads/2016/01/83.jpg)

8\. 耐心等待应用下载完毕后，就可以像往常一样将其同步到手机中了。大功告成后，你会发现一切都是如此的熟悉却又那般激动人心。如果你够恶趣味，你甚至可以观察五六年前的应用在你手机上的运行情况，当然，结果很可能是，惨不忍睹。

[![9](https://s3.ifanr.com/wp-content/uploads/2016/01/92.jpg)](https://s3.ifanr.com/wp-content/uploads/2016/01/92.jpg)

不过你或许也意识到了，以上的步骤毕竟略显繁琐，所以在更新前最好还是三思而后行，而这种手段作为「手抖」的补救措施业已足够啦。
