你可能知道一些非官方的 iOS 應用提供了某種模擬工作方式,這些應用基於黑客手段和漏洞運行,因此這些非官方應用不僅具有風險,而且在運行效率也大大的降低。
近日,一些開發者將 iOS 14.2 Beta2 上的一項隱藏特性挖掘了出來,iOS 14.2 終於原生支援了JIT 編譯器,它用於邊運行邊編譯,使得軟件源碼以機器能識別的本地語言運行,並將允許仿真應用在 iPhone 和 iPad 上全速運行。
或許你對 JIT 很陌生,JIT 即 Just-In-Time 編譯,是一種運行軟件的方式,軟件在執行過程中會被編譯,而傳統的軟件在執行前會被完全編譯。使用 JIT,源碼會實時翻譯成機器的原生代碼。
Thanks to this change in iOS 14.2 — and combined with the new “Extended Virtual Addressing” entitlement — it’s now possible to emulate GameCube and Wii games at 100% speed WITHOUT jailbreaking or using private entitlements 😱 https://t.co/gOIBcxCZ0K pic.twitter.com/AF548pvKPl
— Riles 🦄 (@rileytestut) November 5, 2020
受益的 iOS 應用主要是模擬器、仿真類程式,此前由於不支援 JIT,開發者們不得不採取一些破解手段,甚至必須越獄才行。但由於系統支援 JIT,仿真應用現在可以在沒有黑客手段、越獄等妥協的情況下全速運行。
在過去沒官方 JIT 的情況下,一些開發者已經找到了用黑客運行 JIT 的方法,仿真應用不可避免的 BUG 和運行效率低下,在 iOS 14 上已經被徹底刪除,至少到現在為止是這樣。
當然,測試版支援了 JIT 並不意味著官方承認仿真應用程式,App Store 也自然難以上線仿真應用。開放 JIT 能大程度上解決安裝應用的限制,公測也能保留的話,相信越獄的用家將會大幅度減少,不過手機的安全也會難以得到保障。