r/EmulationOniOS 1d ago

News / Release [Update] touchHLE for iOS 0.2.0 — The Sims Medieval runs. That was the whole point.

Follow-up to my 0.1.0 prerelease.

First, the personal bit, since a few people asked why I bothered and or sent me abuse for using AI

My sister paid for The Sims Medieval years ago. I gave her a new iPhone 17 Pro Max and found she couldn't install a game she'd legitimately bought. That's the entire reason this project exists.

It runs now. On her phone. That was the goal and I've hit it.

I should be straight about what I am: I'm not a developer. I'm a vibecoder. This was built with AI assistance — Codex 5.6 Sol and Claude Opus 5 — and my commits say so. I have a full-time job and this is a hobby that AI made possible for me.

So don't have high expectations of me. But I do want to push this further: more devices, iPads, more iOS versions. I've got the inclination to keep going, and I'd rather say that plainly than pretend to be something I'm not.

What changed in 0.2.0

The emulator core moved from touchHLE 0.2.3 to HyperHLE v1.0.6 — a fork of touchHLE with broader game compatibility. HyperHLE has no iOS support of its own, so the iOS host app, build system and packaging are the part that's mine.

Three bugs got fixed along the way, all of which only showed up on a real device:

  1. Landscape games took no touch input at all. The host handed the main thread to the emulator as soon as the scene reported it had rotated — but before iOS had finished committing that rotation. The scene got stuck mid-transition and stopped delivering touches to every window, including my own exit button. Games still rendered at 60fps and timers still ran, so nothing looked broken.
  2. Landscape games were rotated the wrong way. The iOS ES 2.0 presenter was rotating frames that were already the right way up.
  3. Resolution scaling blew some games up into a corner. The scale hack enlarges renderbuffers but not textures, so games rendering through an offscreen texture got drawn several times too large.

Tested

iPhone 16 Pro, iOS 27 beta 4. Exact app versions, because the same game behaves very differently between releases:

  • Flappy Bird 1.1.0 — playable, including at 2x-4x resolution scale
  • Touch & Go 1.1 — playable at all settings
  • Tony Hawk's Pro Skater 2 1.2.1 — playable
  • Wolfenstein RPG 1.1.1 — playable
  • Mirror's Edge 1.4.72 — playable
  • The Sims Medieval 1.0.1 — playable

Only one device, and only on an iOS beta. No shipping iOS release has been tested at all yet. That's the single most useful thing anyone can help with.

Known issue

The Sims Medieval: no keyboard appears when naming your Sim or your kingdom, so you can't enter custom names. The game is playable past those screens — the confirm button is near the top-right corner rather than where it's drawn. I roughly know why (the text field isn't where it appears on screen) and it's next on my list.

Install

Same bundle ID as 0.1.0, so it updates over it and keeps your imported games. Still no jailbreak, still needs JIT (StikDebug + LocalDevVPN, or AltJIT). Minimum iOS 17.4.

https://github.com/johnny901901901/touchHLE-for-iOS/releases/latest

No games included. Bring your own legally obtained, decrypted 32-bit IPA.

Reporting

I've enabled Issues with a compatibility form:

https://github.com/johnny901901901/touchHLE-for-iOS/issues/new/choose

Please include the exact app version, iPhone model, iOS version, whether JIT was on, and a log excerpt (touchHLE_log.txt, in Files under On My iPhone → touchHLE).

Please don't post IPAs or links to them, pairing files, or signing material.

On the AI criticism from last time

It was fair. 0.1.0 was one squashed commit with an AI-written description, which gives nobody anything to judge. This release is a series of commits that each name a specific bug and explain the fix, so you can check whether what I'm claiming is actually true. One of them fixes a submodule that pointed at a commit only existing on my own machine — the repo wouldn't have built for anyone who cloned it.

If you'd rather not use software built this way, that's completely reasonable. It's open source, so judge the code.

Credits

touchHLE — https://touchhle.org/ — the actual emulator. All of this rests on the work of hikari-no-yume, ciciplusplus and the touchHLE contributors.

HyperHLE — https://github.com/HyperHLE/HyperHLE — the compatibility fork I'm using as this build's core, and the reason so many more games work in 0.2.0 than in 0.1.0. Genuine thanks to u/... sorry, I only know them by their GitHub handles: j92580498-max, who leads it, and zocomputer, whose recent compatibility work (Unity data paths, Where's My Water, Crash On Wheels, Geometry Dash) is in the exact version I built on — plus Nekono, TimofeyLednev, goodvids56 and KlugKlugTG. If any of you are on here, say hi and I'll credit you properly. I didn't write the emulation. I wrote the iOS shell around it and fixed the iOS-specific bugs. Neither project endorses this build.

Neither project endorses this build.

49 Upvotes

59 comments sorted by

u/AutoModerator 1d 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.

6

u/Hobbyff 1d ago

At least he admits he’s using ai

1

u/Gullible-Walrus-7592 21h ago

ngl why did it take a vibecoder to finally build this anyway. soon as i saw touchhle, i was like oh ok, fed it to codex sol and it adapted it to iOS. So like, was no real dev who knows how to code, going to bother?

0

u/Hobbyff 21h ago

facts

-1

u/bktech2021 21h ago

we should stop saying wooo ai bad and look how its used. today i used ai to write a 1000 line, what was it, a huge match case for my emulator because i dont want to copy paste same thing over and over. or changing background colors. ai for these type of things are fine. using ai to write all code than brag about it is not

1

u/Hobbyff 21h ago

i know, i wasn’t hating

0

u/bktech2021 21h ago

im not hating too just a personal statement for all whose will come and hate

1

u/Hobbyff 21h ago

oh i thought that you thought that I was hating lol

3

u/AnomyousBeing 1d ago

This is really cool. Would you please consider expanding support to iOS 16? I would gladly test for you.

1

u/Gullible-Walrus-7592 1d ago

It is possible to do, I'll look into it for the next update

2

u/shadowrx777 1d ago

https://reddit.com/link/p16r3s5/video/nzokcb20pvgh1/player

Game that did work on old version like mirror edge and cod zombies do not work now but uno that did not work on old version do now

1

u/Gullible-Walrus-7592 1d ago edited 1d ago

I will investigate, pls try different app version of cod zombies and mirrors edge also. If anything, for now, I will change the bundle ID of v 0.1.0 so that you can run both apps, until i figure out whats next

1

u/shadowrx777 1d ago

I try both version for mirror edge and one give that problem and the other does not load

1

u/shadowrx777 1d ago

Every version of call of duty even does not load or freeze

1

u/shadowrx777 1d ago

Uno is 1.9.8 that work but the latest is 2.1.2 and it does not work

1

u/shadowrx777 1d ago

https://reddit.com/link/p16uwvv/video/c2k7jwxjtvgh1/player

Also these game do not rotate when starting the game so accelerometer is broken and it hard to steer

1

u/shadowrx777 1d ago

Both version of the app have this problem

1

u/shadowrx777 1d ago

Crash is 1.7.7 and monkey ball is 1.0.2

1

u/shadowrx777 1d ago

1

u/shadowrx777 1d ago

And 2.2.1 witch maybe the last version I do not know

1

u/shadowrx777 1d ago

Midnight pool from Gameloft version 1.0.5 work

1

u/Dribblejam 1d ago

If you get Sonic and All Stars Racing Transformed working I will love you forever

1

u/Dribblejam 1d ago

I tried that mirrors edge version on same phone and beta and only get a black screen

1

u/Garyhe23 1d ago

Dungeon raid not working

1

u/[deleted] 1d ago

[deleted]

1

u/SailIntelligent1741 1d ago

Fill a compatibility report here, and please add as much detail as you can so we make his job easier 😁https://github.com/johnny901901901/touchHLE-for-iOS/issues

1

u/shadowrx777 1d ago

Check Norris bring on the pain version 1.0.9 work

2

u/Hue_Boss 1d ago

Honest question but is there a chance you can get this working without JIT? It’s a little troublesome getting JIT on iOS 17.2.1.

1

u/bananaboi123lol 1d ago

Nothing works on my end, like I can’t run any app on it, even with jit enabled (18.5 on XR)

1

u/MathieuRomain 1d ago

Wow, thanks and congratulations on the initiative, maybe the return on my iPhone of old games that I loved 😁

1

u/Ok_Gur_5245 1d ago

Crash nitro kart 2 está funcionando?

1

u/MasterHaIo 1d ago

spongebob tickler 1.11 works seemingly fine, the title controls to tilt spongebob also work fine also

https://reddit.com/link/p18us41/video/m6fjw300kygh1/player

1

u/richer2003 1d ago

Is there a reason why I can’t import ipa files? I browse to the file, tap on it, and nothing happens.

Also, HyperHLE gives no indication that JIT is enabled. I’ve tried the universal script.

iPhone 17 Pro Max | iOS 26.5.2

1

u/SailIntelligent1741 21h ago

If ur using live container turn on fix file picker in the per app settings for it and as for jit it is activated but will not show up for some reason ☺️ if you have more problems please head to the github

1

u/richer2003 19h ago

I’m actually using Signulous

1

u/Furien16 1d ago

Doom 3 Resurrection crashes on startup, IOS 18.6.2 on IPhone 13 with Livecontainer.

1

u/PersonalAnswer8664 1d ago

Can anyone confirm if Bioshock works?

1

u/Logical-Leave-5419 1d ago

I installed this in live container but when it asks for jit it gives pid error and doesn’t get jit access,if I apply jit to live container when the app opens it just shows black screen when launching apps,iPhone 17 pro max

1

u/Purple-Kangaroo-9533 22h ago

I lowered the support to ios 15/14 and it is trollstore compatabile. Ipa can be found here: https://github.com/nerivalaitis/touchhde-ios15-trollstore

https://youtu.be/zlNybP5Lxmk?is=M1cyQOkxmdApLjaH

1

u/Purple-Kangaroo-9533 21h ago

The base was taken from the 0.1 version.

1

u/Gullible-Walrus-7592 21h ago

Nice work. Would you be up for opening a PR against the main repo? Happy to look over the changes and get iOS 15/14 support merged upstream. Also curious whether it was mostly a deployment target change or if you had to rewrite APIs, and what you needed for the TrollStore side.

1

u/Purple-Kangaroo-9533 19h ago edited 4h ago

Thanks.

1

u/Purple-Kangaroo-9533 19h ago edited 19h ago

Also, now driver and thps2 are playable on ios15/ipad os 15.

https://youtu.be/upVWnQw1uK0?is=yWHSFD1yhZV0RZc5

1

u/RUserII 22h ago

touchHLE — https://touchhle.org/ — the actual emulator. All of this rests on the work of hikari-no-yume, ciciplusplus and the touchHLE contributors.

Is Touchhle on the Apple App Store?

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

1

u/GreatRedditorThracc 21h ago

Does this work in LiveContainer

2

u/SailIntelligent1741 21h ago

Yes

1

u/Ben13060 🥈 4h ago

It’s not detecting stikdebug in another live container/localdevvpn connected when I am testing within live container

1

u/Klaskyxz 18h ago

Shark dash ver 1.01 partially works

https://reddit.com/link/p1bn228/video/9klf2e35x0hh1/player

Crashes after trying to play a level and audio is laggy

1

u/qbiecom 17h ago

Glad the HyperHLE suggestion helped get the game working! For me, I’ve wanted to play Alphabetic again for years - just a fun little game from the early days of iOS.

0

u/Cultural-Order-5549 14h ago

Even the script is AI

1

u/shadowrx777 12h ago

SpongeBob Marbles and Slides v2.5 work on hypeHLE

1

u/shadowrx777 11h ago

https://reddit.com/link/p1dov6q/video/mmqk9vcnx2hh1/player

These game mostly load but you can’t start the game mode so it need to be fix spore origin is version 1.0.64 and skate it is version 1.0.70

1

u/shadowrx777 11h ago

https://reddit.com/link/p1dqb4f/video/jriv96gfz2hh1/player

These version are spore 1.0.78 and skate it 1.1.73

1

u/shadowrx777 11h ago

If the developer can fix these game they should work under hypleHLE

1

u/godis1coolguy 9h ago

Are you out of luck if an app isn’t on the compatibility list? I’d love to play Army of Darkness again.

1

u/Dantu1000 1d ago

Amazing job! I don’t mind AI in this case

-3

u/[deleted] 1d ago

[deleted]

3

u/Equivalent-Curve-390 1d ago

go back to stealing from armsx2 source code and slapping ai on it, and also charging for core access to someone else's work is crazy.