Du kanske känner till några inofficiella iOS-appar som erbjuder någon form av emulering. Dessa appar körs baserat på hacks och exploits, vilket minskar prestandan avsevärt – men det är på väg att förändras. Apple har i tysthet infört stöd för JIT-kompilering (Just-In-Time) i iOS 14.2, vilket kommer att göra det möjligt för emuleringsappar att köras i full hastighet på iPhone och iPad.
Riley Testut, utvecklaren bakom AltStore, delade med 9to5Mac fler detaljer om hur den här ändringen kommer att påverka dessa inofficiella appar som erbjuder konsol- och virtuell maskinsemulering. Men låt mig först kort förklara vad JIT är och hur det fungerar på iOS.
JIT, eller Just-In-Time compilation, är ett sätt att köra programvara som kommer att kompileras under exekveringen, medan en traditionell programvara är helt kompilerad innan den exekveras. Med JIT översätts källkoden till maskinens ursprungliga kod i realtid.
Apple har aldrig erbjudit officiellt stöd för JIT-kompilering i iOS, men vissa utvecklare har hittat sätt att köra den med hackningar, vilket kom till priset av flera buggar och låg prestanda. Dessa exploateringar har dock tagits bort helt och hållet i iOS 14. Åtminstone fram till nu.
Som Testut beskriver har Apple lagt till stöd för JIT-kompilering i iOS 14.2 beta 2 – men detta har aldrig nämnts offentligt av företaget. Stödet bibehölls under alla betor och behölls i den slutliga versionen. Utvecklaren tror att detta är en officiell implementering snarare än ett misstag av Apple, men det finns inget sätt att bekräfta detta för tillfället.
Med stöd för JIT-kompilering i iOS 14.2 kan emuleringsappar nu köras i full hastighet utan hacks, jailbreak och andra kompromisser.
Med JIT kan Delta till exempel i teorin emulera kraftfullare system som PS2, GameCube och Wii; utan JIT skulle vi behöva vänta ytterligare flera år innan hårdvaran var kapabel till det. Först var jag skeptisk, men lutar nu mer åt att tro att detta var en avsiktlig förändring.
Det betyder dock inte att du kommer att få se emuleringsappar i App Store, eller ens någon annan app som använder JIT. Testut berättade för oss att den nuvarande implementeringen endast fungerar för sidoladdade appar, som vanligtvis installeras via Xcode och andra utvecklarverktyg i stället för via App Store. Med andra ord är detta en funktion avsedd för utvecklare med felsökningssyfte.
Jag tvivlar på att det var avsikten med att begränsa JIT till enbart sidoladdade appar (och är mer troligt att det är kopplat till behovet av att appar ska kunna köra osignerad kod vid felsökning med Xcode), men jag skulle vara nyfiken på att se om den här begränsningen kvarstår på lång sikt.
Men om du har AltStore kommer du snart att kunna njuta av appar som UTM, som erbjuder virtuella maskiner på iOS, och DolphiniOS, som i princip är en GameCube- och Wii-emulator för iPhone och iPad, som körs med maximal prestanda.
I videon nedan kan du se hur smidigt DolphiniOS körs på iOS 14.2 utan jailbreak med hjälp av den inhemska JIT-implementationen:
Det finns en ny version av AltStore som är kompatibel med JIT-appar och som för närvarande är i betaversion, men den kommer att vara tillgänglig för alla AltStore-användare snart. Om du vill veta mer om hur du installerar och använder AltStore kan du läsa vår specialartikel om det.
FTC: Vi använder inkomstbringande automatiska affiliatelänkar. Mer.
Kolla in 9to5Mac på YouTube för fler Apple-nyheter: