跳至主要內容

Design with Code

下載舊版 iOS app 的方法

在某些情況下,需要去下載舊版 app,至於什麼情況呢,不好說~ 😁

這裡提供個人覺得還不錯的方法,主要環境是在 windows 下使用 python 指令去下載,再傳到 Mac 使用 airdrop 給 iPhone 安裝。

首先要先 git clone 這個 2 repo:

https://github.com/NyaMisty/actions-iTunes-header

https://github.com/NyaMisty/ipatool-py

接著還要安裝 iTunes v12.6.5.3版 , 在上述 repo 頁面也有連結或方法可以下載。

其實也有不用安裝 iTunes 的方法,但因為目前大部份人都有使用2步驟驗證,必需得透過 iTunes 驗證登入才能順利下載 app。

使用終端機(有系統管理員權限)方式,安裝 python 相依套件:

# 安裝 frida, 主要是為了介入 iTunes 取得登入 session
pip install frida

# 安裝 ipatool-py 所需要的相依套件
cd ipatool-py
pip install -r requirements.txt

先執行 iTunes 要作的事,patch 與登入

# 進剛 clone 下來的目錄並執行下列指令
cd actions-iTunes-header
python .\workflow_helper\iTunesInstall\patch_itunes.py

# 這時才能開啟 iTunes 並驗證登入,再執行以下指令
python .\workflow_helper\iTunesDownload\get_header.py

download-ios-older-version-apps-1

此時可以看到會啟用一個 web server

再開另一個終端機視窗,執行查詢或下載指令

# 先到剛 clone 下來的目錄
cd ipatool-py

# 先查詢 app 版本資訊:
python main.py lookup -b com.facebook.Facebook -c TW

download-ios-older-version-apps-2

可以得知 appId,但沒有版本 Id

下載指令:

python main.py lookup -b com.facebook.Facebook -c TW download -s http://127.0.0.1:9000 --appVerId xxxx

參數:

-b 要查詢 app 的 BundleId

-c 國家,此例是 TW

-s 上面啟用的 web server 的網址

-appVerId 每個版本都有自已的 Id,要自已查,不帶會預設會下載最新版本

 

下載完後,再丟到 Mac 透過 airdrop 到 iPhone 就會自動安裝了。

 

講個密訣:

可以下載最新的版本,再把 ipa 解壓縮,之後可以從 iTunesMetadata.plist 可以得知版本 id,但就得自已去對應那個版本號,再去下載指定的版本~ 😁

download-ios-older-version-apps-3

留言