JIT (Just-in-time compilation, 即時編譯技術)可以大幅提昇模擬器APP的執行速度,例如UTM虛擬機、iSH Shell、PojavLauncher、RetroArch模擬器等等。
以UTM虛擬機為例,啟用JIT之後,Linux虛擬機的開機速度便快了二倍以上!可見此技術的重要性。
可惜的是Apple以安全性為由,禁止啟用JIT的APP上架App Store,所以JIT只能在側載的APP啟用。
1. AltStore啟用JIT的方法#
iOS 18以上系統,要啟用JIT有幾種方法:
- StikJIT,免電腦啟用JIT,不限AltStore側載的APP
- Jitterbug,用另一部iOS裝置無線啟用JIT
- 越獄
根據AltStore官方文件,現在推薦使用「StikJIT」來啟用JIT。
另外,AltStore針對歐盟地區的用戶推出了「StikDebug」APP,可以直接在AltStore PAL第三方商店裡面下載。
2. (舊版)啟用AltJIT#
注意:此處內容僅適用iOS 17。建議改用StikJIT,操作更方便,不需要電腦。
根據AltStore官方文件,iOS 17以前版本可透過AltStore長按選單啟用JIT。或者用電腦的AltServer給APP啟用JIT。
但是iOS 17僅能透過Mac電腦啟用JIT,條件非常嚴苛。也就是說iOS裝置必須插著Mac電腦才能給APP用JIT,APP關閉後JIT就會消失。
安裝AltStore到Mac
開啟Mac終端機,安裝Xcode工具
xcode-select --install
安裝OpenSSL
brew install openssl@3
- 再用系統的Python安裝pymobiledevice3套件,需要指定版本
sudo /Applications/Xcode.app/Contents/Developer/usr/bin/python3 -m pip install pymobiledevice3==2.30.0 construct==2.10.69
將iOS裝置插上Mac
執行AltServer,點選Enable JIT,再選取iOS裝置上的APP即可。注意:由於App Store禁止支援JIT的APP上架,所以APP即使有上架App Store也必須改用AltStore側載IPA,才能啟用JIT。
目前pymobiledevice3在iOS 17似乎有很多bug,如果AltServer跳出錯誤請到下方的Github issue查看解決方式。