iOS emulators

From Emulation General Wiki
Revision as of 04:36, 7 February 2023 by Redman 1989 (talk | contribs) (Emulators)
Jump to navigation Jump to search

iOS
IOS.png
Developer Apple Inc.
Release date 2007
Emulated ~
This page is about software that emulates IOS on other hardware, like desktops.
For emulators that run on IOS, see Emulators on iOS.

iOS devices started the smartphone craze, which would go on to replace conventional mobile phones in both Japan (which had its own subset of cell phones) and the rest of the world, with more advanced touch-controlled devices.

Unlike their direct competitor, Android-based smartphones, they currently have practically no usable emulators, as the official iOS SDK (macOS-only) only allows for running your own projects, i.e., they run code generated for an x86 target rather than ARM code as used by iOS. Some simulators (e.g., BlackThunder) make use of the simulator in the iOS SDK to run a few chosen iOS apps that are recompiled for x86. Unlike previous emulation trails, BlackThunder first loads a highly trimmed Hackintosh image via VirtualBox, which loads Xcode and an iOS simulator into it, then runs iOS apps that are decompiled and recompiled for the x86 architecture. More recently, touchHLE managed to get at least one older iPhone OS app running by recreating some of iOS’s standard libraries and emulating just the iPhone’s CPU.

Emulators

Name Platform(s) Latest version FLOSS Active Recommended
macOS Big Sur and up macOS ? ~
touchHLE Windows macOS v0.1.0 ~
Corellium (Virtualization) Web Website ~
QEMU (fork) Linux macOS git ~
ipasim Windows PatchV1.0.1
Cycada Android Unreleased TBD
macOS Big Sur
The 17th major operating system of the macOS line. It has support for iOS and iPadOS applications for Apple M1-based Macs. However, some apps are not installed due to Apple DRM.
touchHLE
A promising new endeavour that aims to run older iOS apps by recreating standard iOS libraries instead of emulating all of an iDevice’s internal components. Because of this very high-level approach, no dump of the operating system is required. Its initial target is iPhone OS 2.x apps, with other 32-bit iOS versions being planned. Development started in December 2022, and its first release, 0.1.0, came out in February 2023. Currently, it is only known to support one app, namely SEGA and Other Ocean’s Super Monkey Ball – the dev’s inspiration for the project – but development is still ongoing. To run an application, you must unzip the IPA app dump, place the *.app folder inside touchHLE’s main directory, and then run it from the command line. The accelerometer is controlled through a joystick’s left analog stick. It is still a very barebones experience, but the one game it supports is fully playable and runs full speed even on mid-range laptops, and it’s still very early in development.
QEMU (fork)
Based on earlier work emulating the S5L8900 and the iPhone 11 in QEMU. It can currently emulate an iPod Touch 1G running iOS 1.0, including iBoot, the kernel, and the Springboard, although it requires a modified NOR and NAND image. Some features, such as audio and Wi-Fi, are not emulated, and there are multiple crashes. Work is currently underway to emulate an iPod Touch 2G, which will require running iOS 2.x.

History of failed iOS emulation attempts

Many of the currently available "simulators" only try recreating popular iOS apps (like browsers) in a PC application with no real emulation involved. Some notable scams in such fashion are called iPadian or variations on the name, and are often malware.

  • A project to emulate various smartphones (iPhone, iPod Touch, iPad, Apple TV 2G) called iEmu, started in 2011 but got mysteriously abandoned two years later before anything usable surfaced. All pages related to the project were removed. It's speculated Apple had a hand in this.
  • Nowadays, a malicious APK file going by the iEmu moniker is also being circulated on blogs run by script kiddies claiming to offer a way to run iOS apps on Android. More often than not, they're uploaded with the intention of generating revenue from impressionable users (through pay-per-click URL shorteners) who fall easily for those types of scams.
  • There has been a project to provide a runtime for iOS apps to run on Android called Cycada (formerly known as Cider). Not much progress has been made, and the original author was accused of being a sellout for leaving the project to work as a kernel programmer for Apple. The project booted many 32-bit iOS apps successfully, albeit slowly. The last update to this project were in 2017(NOTE: If you search "Cider APK", you will get iPhone 12 launcher adware, even on uptodown or malavida)
  • There was also a project based on QEMU that usually went around by the name QEMU-s5l89xx (based on the part number of the original iPhone), or iVM. The last known commits to this project were in 2013, and it is unclear if this project will ever come to fruition.

Your best bet, until a new emulation effort is ever started, is to hope that whatever iOS app you're interested in gets an Android port. Which is often sadly not the case (until very recently) for the vast majority of the older game apps, especially Japanese ones - as Android is often perceived to be the more piracy-friendly platform. That appears to be gradually changing lately and isn't as much concern for non-gaming apps, but the older apps are unlikely to get ported for the most part.

iOS apps are distributed in the IPA format. Like its Android counterpart, APK files, they can be opened with 7-Zip most of the time and can have their contents dissected this way.

Apple Inc.
Apple Computer (1998).jpg
Desktop: Apple IApple II Line (Apple IIGS) • Apple III lineLisaMacintosh lineMacOS
Mobile: iPodiOS
Consoles: Pippin