人人都能吃後悔藥 – 舊版 iOS App 下載方法

English Version Here

正常來說,iOS 不允許我們在沒有 IPA 的情形下進行軟體降級,除非你有一個低版本的 iOS 裝置,則可以下載最後可以安裝在該版本 iOS 的 App。而有時候,因為各種原因,例如新版 App 有 bug、或者變得難用、或者刪除了某些功能…等等各種因素,會讓我們想吃後悔藥,把 App 版本降級。對我來說,因為我有用 TimeMachine 的關係,所以即使新版 App 出了,我還是可以從時光機裡面撈到將近半年前的 App。而對於平常沒有備份習慣的人來說,是不是這樣就無法了呢?其實不是的,今天的教學就是要讓每個人都能下載任意版本的 App,讓你降級升級無煩惱。

本教學參考 weiphone 網的教學,並改編為 Mac 適用的版本,如果你用 Windows,可以參考 原始 Windows 版教學 。

 

事前準備

在這個教學中,我會以 Facebook 為例子,為大家示範下載最舊版 (Facebook 1.0) 的方法。而在開始之前,我們必需準備 Charles 這個 App,原始 Windows 教學是用 Fiddler,但是我用 Mac 版的 Fiddler 加 Mono 無法開啟,所以只好用 Charles。要注意的是 Charles 是一個付費軟體,但是我們可以先下載 30天試用版來使用,如果之後覺得不錯或者有其他需要可以再付費。

安裝 Charles 之後請直接打開就好,系統可能提醒你需要給予權限,就打密碼,至於 Firefox 外掛則不需要裝。接下來,請到 iTunes 裡面刪除 Facebook App,之所以要先刪除是因為我們等一下要重新下載,如果不先刪除就不會出現「下載」的按鈕。

接著我們需要安裝憑證,按照下圖方式安裝。

charles_install_cert

接著開啟鑰匙圈存取,找到 Charles Proxy 這項,按 command + i,在出現對話框選擇「永遠信任」,之後輸入系統密碼即可。

charles_keychain

 

第一次下載

準備完成之後,就可以開始「第一次下載」Facebook 了,之所以說第一次是因為等一下還會有第二次跟第三次。

download_pause

當下載開始之後,馬上按暫停,然後按兩下鍵盤的 Delete 鍵把任務刪除。

之後看到 Charles 的左邊欄位,會看到有一個是 pxx-buy.itunes.apple.com 的項目(xx 可能是任意數字),然後對它按右鍵,選擇 「Enable SSL Proxying」(範例圖片因為已經選過了,所以會變成 Disable),還有下面的 Breakpoints 也打勾。

charles_ssl

 

第二次下載

然後重下載一次 Facebook App,如果你已經刪除任務,但是 iTunes 提示正在下載中,則切換一下到別的 App 頁面再回來即可。iTunes 可能會跳出什麼憑證沒過之類的警告視窗,就不管他按繼續即可。

當下載開始的時候,Charles 會跳出畫面,第一次是我們送出請求給 Apple,這邊按 execute 讓他繼續,第二次的時候我們要稍等一下,因為這是 Apple 回傳給我們的回覆。看到下圖,選擇 Edit Response,選擇 XML Text,然後往下捲動會看到一堆如圖的數字,這個就是版本號。最困難的點也是在這邊,我們沒有辦法直接從這些號碼得知真正的版本號是多少,只知道新版的號碼會比舊版大。另外一點是因為 iOS 9 之後會有 bitcode 的機制,導致同一個版本的 App 會有不同的 build。

所以這邊你選擇你要的號碼之後,直接按最底下的 Abort 把任務中止掉。

charles_version_number

 

第三次下載

對,我們接下來要進行第三次下載,這次我們要編輯 Request,所以在第一次跳出畫面的時候,就把圖片中的版本號位置換成你剛剛找到的版本號,改好之後按 Execute,接下來就狂按 Execute 到底就好了(或者也可以把 breakpoint 取消掉也行)

charles_edit_version

 

最後,檢查你下載的 App,就會發現成功了!!!

Facebook_1_0

 

補充

大家都知道 IPA 是不能跟別人共享的,但是在找版本號的時候可以互助一下讓大家更快找到需要的版本號。方法很簡單,如果你的朋友或者有任何網友剛好有你想要的舊版的 IPA 檔案的話,請他把 IPA 解壓縮,然後打開 iTunesMetadata.plist,看到 softwareVersionExternalIdentifiers 列表裡面最大的號碼就是了。因為下載來的 IPA 裡面版號列表不會隨著 Apple 伺服器更新,所以最後一項一定永遠是該版本的號碼!

iTunesMetadata_plist

補充 2

如果用可以編輯 IPA 內容的軟體(大家都知道,IPA 實際上就是一個 zip 包),把 iTunesMetadata.plist 刪掉之後存檔,就可以產生不自動更新的 IPA,把這個 IPA 安裝到手機上,就不會被 AppStore 自動更新了。

19 則留言

  1. 「甫」的個人頭像

    請問ios5.0.1 有辦法偽裝ios6 嗎?。 神魔之塔更新後最低支援ios6了,有沒有辦法騙過商店,求解謝謝

    1. 「皮樂」的個人頭像
      皮樂

      不能,那是 SDK 限制,硬裝只會閃退

  2. 「蔡小寶」的個人頭像
    蔡小寶

    皮樂姐您好,
    我在操作第一次下載app時,
    Charles左邊的工作框都不會出現您所說的
    pxx-buy.itunes.apple.com的項目,
    請問是有什麼地方需要開啟或是順序上有誤的嗎?
    謝謝您

    1. 「皮樂」的個人頭像
      皮樂

      我的都會有耶,你換個網路環境試試看有可能是本身網路有經過代理所以會抓不到

  3. 「kianli」的個人頭像

    想问下18372这样的表述里的数字是代表版本号,但是比如facebook的手机应用端我要安装的是还是带有讯息功能的版本的话 这个数字应该如何去判断? 就是从上往下数,取中间值吗?

    1. 「皮樂」的個人頭像
      皮樂

      只能多測試,如果第一次測太大,第二次測太小就取中間值這樣

  4. 「willami」的個人頭像
    willami

    我下載的舊版本的line已經在ipad中但不能使用,他圖示是黑色的??

  5. 「壞壞」的個人頭像
    壞壞

    你好,我之前已經在Mac平臺成功下載很多次了,就在最近,下載的時候iTunes提示:無法購買[應用名稱]。發生未知錯誤(-9807)。有什麼解決辦法嗎?

    1. 「皮樂」的個人頭像
      皮樂

      我最近沒有測試這個方法耶,不過最近倒是 iTunes 常常下載東西失敗,我覺得是 server 那邊問題

  6. 「壞壞」的個人頭像
    壞壞

    爲什麽發表迴響後看不到呢…

    1. 「皮樂」的個人頭像
      皮樂

      對不起之前垃圾過濾系統壞了

  7. 「Jonathan」的個人頭像
    Jonathan

    先謝謝皮樂姐的這篇教學,讓我重新回到介面大改版前的Skype了!
    Version 6.35.1(Posted 26 May, 2017)的版本號是822047543,如果有人需要的話~

    1. 「jonathan880126」的個人頭像

      上面的版本號打錯~重發一次~

      先謝謝皮樂姐的這篇教學,讓我重新回到介面大改版前的Skype了!
      Version 6.35.54(Posted 26 May, 2017)的版本號是822047543,如果有人需要的話~

    2. 「MICKY」的個人頭像
      MICKY

      請問一下,您的CHARLES版本是多少..
      我現在去ITUNE APPSTORE 試facebook…
      設了ENABLE SSL PROXY ,
      跳出憑證沒過..按繼續…..就沒動作了..

      請問一下,您現在用這種方法還可以嗎?? 再麻煩您了…

    3. 「皮樂」的個人頭像
      皮樂

      現在好像會檢查是否用工具監聽 SSL 了…如果不行降級只能 JB 用 AppAdmin

  8. 「jonathan880126」的個人頭像

    WPS Office最新版只能安裝在64位元的裝置,32位元裝置能安裝的最高版本為7.3.0,版本號是821847409

  9. 「KOKOU TO」的個人頭像
    KOKOU TO

    請教一下,若用您的方法將ios skype8.0版降回6.35版,刪除新版的skype app是不是連內存容量也會一起刪掉(聊天訊息)?謝謝

    1. 「Jonathan」的個人頭像

      會!因為是把app重新安裝,所以紀錄會不見

  10. 「micky」的個人頭像
    micky

    不好意思…
    我先試試facebook,line找舊版.
    按了Enable SSL Proxying,再次下載….跳出什麼憑證沒過之類的警告視窗.
    按確定後卻都沒有動作….
    我的itune 12.6.3.6
    charles v4.2.1

    3Q….

發佈留言