Firefox for iOS 更新到 117.0 後,在 iOS 14 上出現閃退的狀況。用是肯定用不了了,官方又一直不處理,只好安裝舊版本臨時先用。
安裝特定版本 iTunes
最後一個可以下載 iOS 應用的 iTunes 版本是 12.6.5.3:
官方的描述提到這是一個特殊版本,不會提示更新。
找到對應版本的版本號
先下載 Firefox 最新版本的 ipa 檔案,解開後查看 iTunesMetadata.plist
,查看 <key>softwareVersionExternalIdentifiers</key>
,value 中就是就是歷史版本的 ID:
....
<key>softwareVersionExternalIdentifiers</key>
<array>
....
<integer>859369035</integer>
<integer>859415879</integer>
<integer>859601899</integer>
<integer>859682306</integer>
</array>
....
這個順序是數字越大越新,根據更新紀錄的順序對應到要下載的 Firefox 116.4 版 ID 為 859369035
。
下載舊版 ipa
使用 iTunes 下載應用程式時,iTunes 會向域名 p\d{2}-buy.itunes.apple.com
發送 URL 開頭為 /WebObjects/MZBuy.woa
的請求。
先打開 Fiddler,在左下角 QuickExec box 中輸入 bpu MZBuy.woa
設定 RequestURL breakpoint。
這時候打開 iTunes,搜尋 Firefox 並點擊下載。不過因為設定了斷點,所以下載不會真正開始。
回到 Fiddler,可以看到被斷點攔截的請求,左側有紅色感嘆號。點擊這個請求,在右邊的分析界面選擇 Inspectors - TextView,找到 <key>AppExtVsID<key>
,下面一排的數字就是當前的版本 ID。修改為想要下載的版本的 ID 859369035
,然後點擊 Run to Completion。這時候 iTunes 應該就會開始下載了。
下載完成後,可以點擊資料庫,找到 Firefox,點擊右鍵-顯示簡介,可以確認下載的就是舊版本 116.4。
安裝 IPA 檔案
更新到 macOS 10.15.0 後,iTunes 被拆分成音樂、播客、TV 三個應用。連線 iDevice 之後,打開音樂,拖放 IPA 到裝置上就可以安裝了。
後續
Firefox for iOS 117.0 釋出兩週以後,官方終於釋出了 117.3,更新日誌是:
Fixed a crash on devices running iOS 14