touchHLE: high-level emulator for iPhone OS apps
touchHLE is a high-level emulator for iPhone OS apps. It runs on modern desktop operating systems and Android, and is written in Rust.
touchHLE's high-level emulation (HLE) approach differs from low-level emulation (LLE) in that it does not directly simulate the iPhone/iPod touch hardware. Instead of running iPhone OS inside emulation, touchHLE itself takes the place of iPhone OS and provides its own implementations of the system frameworks (Foundation, UIKit, OpenGL ES, OpenAL, etc). The only code the emulated CPU executes is the app binary and a handful of libraries.
The goal of this project is to run games from the early days of iOS:
- Currently: iPhone and iPod touch apps for iPhone OS 2.x and iPhone OS 3.0.
- Longer term: iPhone OS 3.1, iPad apps (iPhone OS 3.2), iOS 4.x, …
- Never: 64-bit iOS.
This does not mean that all apps for these OS versions work. The vast majority of iPhone OS 2.x and iPhone OS 3.x apps do not currently work in touchHLE, and the ones that do work are generally games (support for other apps isn't a priority: it's more complex and less fun). This improves gradually over time with contributions from various developers. The touchHLE app compatibility database tracks which apps work in touchHLE; it is a crowdsourced effort to which anyone can contribute. We don't take requests, so please do not ask us to support your favourite game.
If you're curious about the history and motivation behind the project, you might want to read the original announcement. For an introduction to some of the technical details, check out touchHLE in depth.
**Check out the website for downloads, FAQ, social media, and more:**👉 👈
Important disclaimer
This project is not affiliated with or endorsed by Apple Inc in any way. iPhone, iOS, iPod, iPod touch and iPad are trademarks of Apple Inc in the United States and other countries.
Only use touchHLE to emulate software you have obtained legally.
Platform support
- Officially supported: x64 Windows, x64 macOS and AArch64 Android.
- These are the platforms with binary releases.