Ormai da anni esistono diverse app non ufficiali che permettono di installare degli emulatori su iOS. Tali app vengono eseguite sulla base di hack ed exploit del sistema operativo e questo riduce notevolmente le loro prestazioni, ma le cose stanno per cambiare grazie ad iOS 14.2.

Apple ha infatti introdotto il supporto per la compilazione Just-In-Time (JIT) su iOS 14.2, che consentirà agli emulatori di funzionare a piena velocità su iPhone e iPad. Riley Testut, sviluppatore di AltStore, ha condiviso ulteriori dettagli su come questo cambiamento avrà un impatto sulle app non ufficiali che offrono l’emulazione di console e macchine virtuali.
JIT, o compilazione Just-In-Time, è un sistema che consente di effettuare la compilazione durante l’esecuzione del programma piuttosto che precedentemente. In pratica, il codice sorgente viene tradotto in tempo reale nel codice nativo della macchina.
Apple non ha mai offerto il supporto ufficiale per la compilazione JIT su iOS, ma alcuni sviluppatori hanno sempre trovato il modo per eseguire questa operazione tramite hack che, però, richiedevano la scoperta di exploit nel sistema operativo e, soprattutto, comportavano basse prestazioni.
Come spiegato da Testut, ora Apple ha aggiunto il supporto per la compilazione JIT in iOS 14.2, anche se questa novità non è stata mai menzionata ufficialmente. Lo sviluppatore ritiene che questa sia un’implementazione ufficiale e non un errore di Apple, ma per ora non c’è modo di confermarlo.
Con il supporto della compilazione JIT su iOS 14.2, le app di emulazione possono ora essere eseguite a piena velocità senza hack, jailbreak e altri compromessi:
Ad esempio, con JIT Delta si potrebbero in teoria emulare su iPhone e iPad sistemi più potenti come PS2, GameCube e Wii; senza JIT, avremmo dovuto aspettare diversi anni prima che l’hardware fosse in grado di farlo.
All’inizio ero scettico, ma ora sono più propenso a pensare che si tratta di un cambiamento intenzionale. Tuttavia, ciò non significa che vedrai app di emulazione nell’App Store o anche in qualsiasi altra app che utilizza JIT.
Testut ha infatti spiegato che l’attuale implementazione funziona solo per le app sideloaded, che di solito vengono installate tramite Xcode e altri strumenti di sviluppo invece che tramite App Store. In altre parole, questa è una funzionalità con scopi di debug destinata agli sviluppatori e non sappiamo se e quando verrà “aperta” anche su App Store.
Lo stesso Testut sta lavorando ad una nuova versione di AltStore che supporta questa novità per migliorare le prestazioni degli emulatori e offrirne di altri in futuro.
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