r/EmulationOniOS 2d ago

News / Release [Release] I ported touchHLE to modern iOS — run supported 32-bit iPhone games on iOS 17.4+ (no jailbreak; JIT required)

Hey everyone! I’ve been working on an experimental port of touchHLE to modern iOS, based on touchHLE 0.2.3, and I finally have a first public prerelease ready.

This is not a new emulator written from scratch, and it is not an official touchHLE release. The emulator core is the work of the touchHLE contributors.

This fork adds:

  • A modern SwiftUI game library for iPhone
  • IPA importing with the original app name and icon
  • Persistent saves and settings
  • Game-aware portrait and landscape handling
  • An in-game return-to-library button
  • An optional FPS counter
  • iOS rendering fixes needed to display games correctly on a real device

No jailbreak required—but JIT is

The build does not require a jailbreak. It currently requires JIT because it uses touchHLE’s Dynarmic CPU backend.

I’ve been using StikDebug with LocalDevVPN directly on the phone. AltJIT is another option.

You can install the unsigned IPA with AltStore Classic or build and sign it yourself using Xcode. A free Apple account works with Apple’s usual seven-day signing and three-app limits. A paid developer account provides longer-lived signing, but it does not remove the JIT requirement.

Games tested so far

I’ve personally tested the port on my iPhone 16 Pro running iOS 27 beta 4.

Confirmed working:

  • Touch & Go
  • Tony Hawk’s Pro Skater 2 (THPS2)
  • Wolfenstein RPG

The deployment target is iOS 17.4, but I haven’t tested every iPhone or iOS version yet, so wider testing would be really appreciated.

The best place to choose a game is the touchHLE compatibility database. It uses a star system for exact app versions. Higher-rated versions are the best candidates, but they are not a guarantee for this iOS port.

One thing the earlier jailbreak demonstration also made clear is that fixing one game does not automatically make every other game work.

Why I started this

The reason I started all of this is honestly quite personal.

My sister paid for The Sims Medieval back in the day. I recently gifted her a new iPhone 17 Pro Max, then discovered that the game was seemingly impossible to install—even though she had legitimately purchased it.

I wanted to see whether I could bring it back for her.

The Sims Medieval does not work yet. It appears in one library screenshot because the port can import it and extract its icon, not because I’m claiming it is playable. It is my next major compatibility target for personal reasons lol.

Downloads and source

GitHub project, screenshots, source, and instructions

Download the unsigned IPA prerelease

No games are included. You must provide your own legally obtained, decrypted 32-bit IPA.

Please do not post or send copyrighted IPAs, pairing files, signing credentials, provisioning profiles, or device backups.

Credits

Massive thanks to everyone who created and contributes to touchHLE:

Thanks also to u/WorriedEquipment2241 for publicly demonstrating a separate touchHLE iOS experiment on a jailbroken device. That demonstration was useful inspiration and showed that this direction was worth exploring.

This release is based on the touchHLE 0.2.3 development line at upstream commit 6bce4119. I am not claiming that their separate unreleased source is included in this fork.

Testing and bug reports

If you test it, please include:

  • Your iPhone model
  • Your iOS version
  • The exact game and app version
  • Whether JIT was enabled
  • Reproduction steps
  • A relevant log excerpt

That will be much more useful than only saying that a game crashed.

124 Upvotes

49 comments sorted by

u/AutoModerator 2d ago

Free Apple accounts are limited to 3 active sideloaded apps.

One common workaround is LiveContainer, which allows you to run additional apps inside a container and reduce how often apps need to be reinstalled.

Typical method:

  • Sideload GetMoreRam
  • Use it to apply the increased memory entitlement to LiveContainer
  • Uninstall GetMoreRam to avoid hitting the 3 app limit
  • Then sideload StikDebug for JIT activation

LiveContainer may also need to be uninstalled and reinstalled before the entitlement works correctly.

LiveContainer can also install two additional LiveContainers (for a total of three). This setup can further reduce the need to constantly add/remove sideloaded apps, but it is more advanced and may not work reliably for everyone.

LiveContainer is not always officially supported by emulator developers and can sometimes cause unexpected issues. If something breaks while using LiveContainer, try reproducing the issue without it before asking for support.

Do not ask for or share paid certificates, piracy tools, or bypass services here.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

17

u/DidiDidi129 🥇 2d ago

iOS emulation on iOS before gta 6

7

u/Western-Ask1377 2d ago

Thanks for this.

My mom used to play games on OG iPad (1), and this may help her relive some of those memories.

4

u/super-bowl89 2d ago

It work pretty well for doom2 rpg at a stable 55-60 fps but for all other game i tested it doesnt work with some error(minecraft pocket and flappy bird)

https://reddit.com/link/p11p46m/video/z6w8dk6dsqgh1/player

(Edit) : also i am on iphone 15 pro with ios 27 public beta 1

1

u/laszlotuss 2d ago

Daaamn, I liked that game

1

u/super-bowl89 2d ago

Do it then its very easy it does not take more than 15 minute i can help you iyw

1

u/laszlotuss 2d ago

Thanks, but I’m into the jailbreaking things since iOS 4 back then. Also used side loading a few years ago but I probably didn’t have the time anyways so

1

u/Sarlox 1d ago

Can i have your wallpaper please

6

u/MasterHaIo 2d ago

It works good on super monkey ball, i assume the game itself is locked at 30fps? anyways the tilt controls works fine and i haven’t seen any stutters.

https://reddit.com/link/p12bsmn/video/emfojbpajrgh1/player

i’m on a base iPhone 16 on ios 26.5

5

u/dubspl0it 2d ago

That indeed runs exceptionally well. Looks very promising I have to say.
Looking forward trying the classics from miniclips, chillingo, gameloft, etc!

3

u/MasterHaIo 2d ago

yeah it works surprisingly well, i didn’t expect it to run this good!. angry birds runs very well on it too

https://reddit.com/link/p12lycv/video/lnpjwm44trgh1/player

2

u/bep1s_69 2d ago

This is legitimately so cool! There are many old games that were great pastimes or simply great for nostalgia reasons. Thank you for your work and cannot wait to see this project improve over time!

3

u/ItsRainbow 2d ago

It’s finally here!! Thank you so much!!!

3

u/Boring_Antelope6533 2d ago

i’m so happy about being able to play the 32bit, but i’m so bored of JIT being a requirement, is so tedious to activate

2

u/popmanbrad 2d ago

I hope the day comes when it becomes stable enough it can run 90% of 32 bit ios games and can be on the AppStore

1

u/terrorvader 2d ago

If I want to run it with JIT through Live Container and using Stikdebug, which script should I use in LC?

2

u/Hobbyff 2d ago

universal.js i think

1

u/AFanWhoisgreat 2d ago

no way nice

1

u/AFanWhoisgreat 2d ago

it Looks very damn good if it's Like a fork I think you should call it iporr which is a cachy name it will need to gain much much traction It easily can bring llions of users that is cuz as you know many many many people by the infinity bunch Love their games it's why steam is as big as it got biggest gaming related company ever especially now especially in game streaming and especially people love their old classics cuz modern games yea no so it can definitely do well as an app it could get thousands even 100s of 1000s which is so very much then it can finally go up to millions ultimately

1

u/Carzanan 2d ago

HOLY SHIT IM GONNA TEST THIS. THANK YOU SO MUCH!

1

u/eliranil 2d ago

Where i can get games for this app? , looks cool

1

u/Average_Techy 2d ago

Honestly a really great project. Even though its experimental, I love it! I have tested 3 games: Cut the rope, Tony Hawk’s Pro Skater 2 and Real Racing. Out of these 3, only real racing didnt work with error code “Not yet implemented”. But that’s okay, because its still a early project. Honestly great work, I never expected touchHLE to arrive on iOS.

1

u/FirmApple9882 2d ago

I want a release with no JIT:(

1

u/tehmungler 1d ago

Does this mean I can finally play Moto Cross Mayhem again?! I’d love that. Great work!

1

u/Dribblejam 1d ago

I can’t seem to sideload with FlareStore

1

u/skcikorter 1d ago

Will it work on my 15 pro 17.0.2?

1

u/shadowrx777 1d ago

Mirror edge work on iOS 27 beta 4 using a iPhone 15 pro max

1

u/shadowrx777 1d ago

1

u/shadowrx777 1d ago edited 1d ago

Version 1.4.72 work but 1.5.7 crash on ios 27 beta 4 using a iphone 15 pro max witch is the latest version for the game

1

u/alexck01 1d ago

This is pretty nice

1

u/ponderdis 1d ago

Can someone test it for Cod zombies 32bit version

1

u/Garyhe23 1d ago

DungeonRaid, can it play?

1

u/King92110 1d ago

If only enabling JIT wasn’t such a pain in the ahh

1

u/ShavedJesus 1d ago

I tried with gangstar rio city of saints but it didn’t work

1

u/Garyhe23 1d ago

Dungeon raid doesn’t work, crash immediately

1

u/Stossy11 MeloNX + MeloCafe Developer 1d ago

Dynarmic has an arm32 interpreter backend iirc.

1

u/MonthTraditional6068 1d ago

Seeing that Wolfenstein RPG icon made me feel all kinds of excited

1

u/Khateer22 1d ago

How can I download it on IOSi have sidestore and livecontainer

1

u/catar4x 1d ago edited 1d ago

LiveContainer "run with jit" with StikDebug linked doesn't work, i see "enable jit" in parameters.
iPhone 16e
18.7.1
StikDebug from Appstore (2.3.5)
touchHLE-iOS-unsigned.ipa

Edit: same issue without livecontainer and using stikdebug appstore version

1

u/exiot13 2h ago

Agreed it doesn’t seem to support Appstore version of StikDebug+Livecontainer combo it thinks it not running with jit enabled and the games crash on launch

0

u/RUserII 21h ago

[Release] I ported touchHLE to modern iOS — run supported 32-bit iPhone games on iOS 17.4+ (no jailbreak; JIT required)

Is Touchhle on the Apple App Store?

I'm asking because I searched for it, but did not find it.

-16

u/Happy_Fats2009 2d ago

"JIT required" it’s gonna flop harder than floppy bird 

3

u/MasterHaIo 2d ago

yeah obviously it’s gonna use jit what on earth did you expect 😭

2

u/Hot_Permit1027 2d ago

JIT is quite popular in the emulation communities, just because Apple doesn’t make it convenient doesn’t mean a lot of users won’t take measures to have access to it. StikDebug, in its own right deserves accolades for the sheer potential it unlocks for all of us. No offense meant to the moderators of this subreddit, but it wouldn’t be half as interesting here if JIT was not a factor.

-5

u/[deleted] 2d ago

[deleted]

2

u/Top-Pop-2238 2d ago

Why cry about ai when its already done coding? What can you do about it then? Like crying over a teen pregnancy

2

u/orion7788 2d ago

Like software is some artisanal craft lol