Changes

Jump to navigation Jump to search

IOS emulators

16,631 bytes added, 19 June
m
no edit summary
}}
:''This page is about software that emulates IOS iOS on other hardware, like desktops.''{{for|emulators that run on IOSiOS|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'''iPadOS''' are operating systems created by Apple.
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. Formerly, iOS was used for both Apple's phones and tablets. Then, the iOS brand was split into two parts in 2019, with iOS now being the OS exclusively used in the iPhone and the now-defunct [[Apple_iPod|iPod Touch]]. The second half, named iPadOS, is a fork of iOS for iPads that makes use of their larger screens, hence its name. Most iOS apps and games work on iPadOS. Unlike its direct competitor, [[Android emulators|Android]], there are 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 Similar to most of the Android emulators, some emulators (e.g., [[BlackThunder]]) make uses two-step approach, making 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 decompiled iOS apps recompiled for the x86 architecture. Appetize.io and other tools that claim to emulate iOS on a web browser are in reality just the iOS simulator in XCode wrapped around a cloud stream to the web browser, and like the iOS XCode simulator, need the source code to run. More recently, touchHLE managed to get at least one a few older iPhone OS app apps running by recreating some of iOS’s standard libraries and emulating just the iPhone’s CPU, and nearly the same time, QEMU-iOS got released and can successfully emulate iPhone OS 1.0 on an iPod Touch 1st generation, albeit with bugs.
==Emulators==
{| class="wikitable" style="text-align:center;width:100%"
! scope="col"|Name
! scope="col"|Platform(s)
! scope="col"|Latest version
! scope="col"|[[#Hardware_features|Hardware features]]
! scope="col"|[[#Enhancements|Enhancements]]
! scope="col"|Compatibility
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
! scope="col"|Active
! scope="col"|[[Recommended emulators|Recommended]]
|-
|macOS Big Sur and up|align!colspan=left|{{Icon|macOS}}|?|{{✗}}|{{✓}}"9"|{{✓}}PC / x86
|-
|[https://touchhle.org/ touchHLE]
|align=left|{{Icon|Windows|macOS}}
|[https://github.com/hikari-no-yumetouchHLE/touchHLE/releases 0{{TouchHLEVer}}]|{{~}}|{{~}}|[https://appdb.1touchhle.2org/ 28%<br/><small>52 out of 188 reported titles</small>]
|{{✓}}
|{{✓}}
|{{~}}
|-
|[https://www.corelliumgithub.com/ Corelliumdevos50/qemu-ios/tree/ipod_touch_1g QEMU-iOS]|align=left|{{Icon|WebmacOS|Linux}}|Website[https://github.com/devos50/qemu-ios/tree/ipod_touch_1g#building git]|{{~}}|?|N/A
|{{✓}}
|{{✓}}
|{{✗}}
|-
|[https://github.com/devos50/qemu/tree/ipod_touch_1g devos50’s QEMU fork[BlackThunder]]|align=left|{{Icon|Windows|macOS|Linux}}|git?|?|?|?|{{✗}}|{{?}}
|{{✗}}
|-
|[[MAME]]
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[http://www.mamedev.org/release.html {{MAMEVer}}]
|?
|?
|N/A
|{{✓}}
|-
|[https://github.com/ipasimulator/ipasim ipasim]
|align=left|{{Icon|Windows}}
|PatchV1.0.1
|{{✓}}
|{{✗}}|{{✗}}[https://github.com/mamedev/mame/blob/master/src/mame/apple/iphone2g.cpp#L318 *]
|-
|[https://github.com/zhkl0228/unidbg unidbg]
|align=left|{{Icon|Windows|macOS|Linux}}
|0.9.7
|?
|?
|?
|{{✓}}
|{{✓}}
|{{✗}}
|-
|[http://systems.cs.columbia.edu/projects/cycada/ Cycada]Unnamed iOS emulator|align=left|{{Icon|AndroidWindows}}|Unreleaseddue to touchHLE|?|?|?|{{✗}}
|{{✗}}
|{{✗}}
|{{TBD}}
|-
|[[BlackThunder]https://github.com/zydeco/aah aah]|align=left|{{Icon|Windows|macOS}}|?|?|?|?|{{✓}}|{{✗}}
|{{✗}}
|{{?}}
|{{~}}
|-
|aah[https://github.com/ipasimulator/ipasim ipasim]|align=left|{{Icon|macOSWindows}}|PatchV1.0.1|?|?|?
|{{✓}}
|{{✗}}
|{{✗}}
|-
|[https://github.com/zhkl0228/unidbg unidbg]
|align=left|{{Icon|Windows|macOS|Linux}}
|0.9.7
|?
|?
|?
|{{✓}}
|{{~}}
|{{✗}}
|-
|[https://github.com/TrungNguyen1909/qemu-t8030 TruEmu]
|align=left|{{Icon|Windows|Linux|macOS}}
|?|?|?|?|{{✓}} ||{{✗}} ||{{✗}}|-|[https://github.com/alephsecurity/xnu-qemu-arm64 xnu-qemu-arm64]|align=left|{{Icon|Windows|Linux|macOS}}|?|?|?|?|{{✓}} ||{{~}} ||{{✗}}
|-
|iEmu
|align=left|{{Icon|Windows|Linux|macOS}}
|?|?|?|?
|{{✓}} ||{{✗}} ||{{✗}}
|-
!colspan="9"|Mobile / ARM|-|[[MAME]https://touchhle.org/ touchHLE]|align=left|{{Icon|WindowsAndroid}}|Linux[https://github.com/hikari-no-yume/touchHLE/releases 0.2.2]|macOS{{~}}|FreeBSD{{~}}|[httphttps://wwwappdb.mamedevtouchhle.org/release28%<br/><small>52 out of 188 reported titles</small>]|{{✓}}|{{✓}}|{{~}}|} ==Hypervisors [[Hypervisors|(...)]]==<div style="overflow-x:auto;width:100%">{| class="wikitable" style="text-align:center;width:100%"! scope="col"|Name! scope="col"|Platform(s)! scope="col"|Latest version! scope="col"|[[#Hardware_features|Hardware features]]! scope="col"|[[#Enhancements|Enhancements]]! scope="col"|Compatibility! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>! scope="col"|Active! scope="col"|[[Recommended emulators|Recommended]]|-|[https://www.html corellium.com/ Corellium]|align=left|{{MAMEVerIcon|Web}}|[https://www.corellium.com/ Web-based]($)|?|?|?|{{✗}}|{{✓}} |{{~}}<ref group=N>Would be completely recommended if it wasn’t paid and/or a local version that runs on Windows/macOS/Linux is available.</ref>|} ==Native==<div style="overflow-x:auto;width:100%">{| class="wikitable" style="text-align:center;width:100%"! scope="col"|Name! scope="col"|Platform(s)! scope="col"|Latest version! scope="col"|[[#Hardware_features|Hardware features]]! scope="col"|[[#Enhancements|Enhancements]]! scope="col"|Compatibility! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>! scope="col"|Active! scope="col"|[[Recommended emulators|Recommended]]|-!colspan="9"|Mobile / ARM|-|[https://apple.com/macos macOS]|align=left|{{Icon|macOS}}<ref group=N>Requires Mac computers with Apple Silicon (M series) processors.</ref>|11 Big Sur to 14 Sonoma|?|?|?|{{✗}} |{{✓}}|{{}}
|-
|[http://systems.cs.columbia.edu/projects/cycada/ Cycada]
|align=left|{{Icon|Android}}
|Unreleased
|?
|?
|?
|{{✗}}
|{{✗}}
|{{✗}}
|}
<references group=N />
==Comparison==;Emulators:;macOS Big Sur[[touchHLE]]:The 17th major :A promising new endeavor that aims to run older iOS apps by reimplementing standard libraries instead of internal components. Because of this [[High/Low_level_emulation|very high-level approach]], no dump of the operating system of the macOS lineis required. Its initial target is iPhone OS 2. It has x, with plans to support for other 32-bit iOS versions, mainly 3.x and 4.x, as well as the iPad. Development started in December 2022, and iPadOS applications for Apple M1-based Macsits initial 0.1.0 release came out in February 2023. [https://appdb.touchhle. Howeverorg/ touchHLE supports a handful of apps], some with most apps are that do not installed due crash on the start working absolutely perfectly. touchHLE supports running IPA files directly. A game controller is required to Apple DRMcontrol the accelerometer. This can be bypassed using touchHLE has an IPA file app archive that currently only has two apps being touch and go and Sideloadyit’s lite version, which are licensed to be free to use with touchHLE. Unfortunately, touchHLE does not currently have a “canary” branch which gets all the additions of it’s multiple concurrent pull requests.
:;touchHLEQEMU-iOS:A promising new endeavor that aims :Previously unnamed and referred to run older as “devos50’s qemu fork”, Based on earlier work emulating the S5L8900 and the iPhone 11 in QEMU. It can emulate an iPod Touch 1G running iOS apps by reimplementing standard libraries instead of internal components1. Because of this very high-level approach0, including iBoot, no dump of the operating system is required. Its initial target is iPhone OS 2.xkernel, with plans to support other 32-bit iOS versionsand the Springboard, mainly 3.x although it requires a modified NOR and 4NAND image.xSome features, such as well as the iPad. Development started in December 2022audio and Wi-Fi, are not emulated, and its initial 0.1.0 release came out in February 2023. The only officially supported applications there are [https://archivemultiple crashes.org/download/iOSObscura/iPhoneOS%202/com.ooi.supermonkeyball/ ''Super Monkey Ball''] – About a year later, the dev’s inspiration for the project – which same user managed to run iPhone OS 2 on an emulated iPod Touch 2G, however internet connectivity is fully playable not figured out yet, and runs at full speed, even on mid-range laptopsnobody has yet ran a 3rd party app via filesystem hacks as of now, as well as Crash Bandicoot Nitro Kart 3D. touchHLE supports running IPA files directly. Super Monkey Ball Lite both networking and Touch & Go Lite, the only supported free games, USB (iTunes) are the third unemulated and fourth ones supported. A game controller is required to control the accelerometercannot be installed regularly.
:; devos50’s QEMU forkMAME:Based on earlier work emulating the S5L8900 and the :Very basic iPhone 11 in QEMU. It can 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. 2G support available [https://github.com/devos50mamedev/qemu/tree/ipod_touch_1g Source code] - [https:mame/blob/devos50.github.iomaster/blogsrc/2022mame/ipod-touch-qemuapple/ Blog postiphone2g.cpp here] - [https:<small>(that cannot boot iOS, nor even get to the Apple logo)<//devos50.githubsmall>.io/blog/2022/ipod-touch-qemu-pt2/ Blog post pt'''Unlikely to ever be completed.2]'''
:;CorelliumBlackThunder:A service made by the Israeli company of the same name :Closed-source, commercial iOS emulator that runs any modern can run a few commercial iOS apps. The official iOS devices, some Android devices, or bringSDK (macOS-only) only allows for running your-own IoT devices on either the cloud or a self-hosted serverprojects, i.e. Emulation is basically perfect, and they have hardware run code generated for an x86 target rather than ARM code as used by iOS 10.3 to the latest iOS versionHowever, with debugging features and security toolssome emulators, as well as IPA installinge.g. They also have iPhone 7 to BlackThunder, make use of the latest iPhone simulator in terms of hardware. The devices the iOS SDK to run on an ARM hypervisora few chosen iOS apps that are recompiled for x86. For individualsUnlike previous emulation trails, it costs 99 USD for two coresBlackThunder first loads a highly trimmed Hackintosh image via VirtualBox, which only has iPhone 7loads Xcode and an iOS simulator into it, then runs iOS apps that are decompiled and 295 USD recompiled for six cores, to use modern iPhones. The site also prohibits users under 18 from using their service. The service is also made for cybersecurity, not gamingthe x86 architecture.
:;MAMEUnnamed iOS Emulator:Very basic iPhone 2G :This is a Low-Level Emulator made by user “K-8-L-Y-N” discussed on the Darling Discord Server, which can run Springboard and the Calculator. They said it’s their own codename and own interpreter. It does not support available [https:touch at all, making it almost useless. It only emulates the kernel and the user provides a filesystem DMG. They’ve gotten iOS 1.0 springboard to boot, which they said was not too difficult and said they were also using iOS 1.0 dyld directly. They said it was a Low-Level-Emulation project as they had to emulate the CPU. They also said the kernel emulation is shorty and it only works. They said they’ll never release it in the state that is in, and refuses to even work on it due to touchHLE’s existence. It does load the original frameworks but doesn’t emulate UIKit. The interpreter was for x86 and interprets ARM. They got it to boot via emulated/recreated parts of the darwin/githubbsd kernel.com/mamedev/mame/blob/master/src/mame/apple/iphone2gAgain, it’s emulating the kernel and not doing BSD syscalls on windows.cpp here]When they feel like the code is in a better state, they do want to release it under the unlicense. Unlikely However they do not plan to ever be completedwork on it anymore due to touchHLE. They say the code is in some pretty messy C++ stuff. They plan on rewriting in C# as they feel more comfortable continuing it in C#.
:;BlackThunderTruEmu:The official iOS SDK (macOS:QEMU-only) only allows for running your own projectst8030, also known as TruEmu, is an iPhone 11 emulated in QEMU, however, ithe current version with a published source cannot boot.eTruEmu is a software that offers support for iOS 14 up to the latest iOS 16 and is built to work on iPhone 6S SecureROM hardware. they run code generated for an x86 target rather than ARM code It also provides out-of-box kernel debugging support and USB support (with Firmware Restore) and utilizes Apple's custom CPU features such as used by iOSSPRR/GXF and custom PAC. HoweverAdditionally, some simulators, eTruEmu is open-source software.g. BlackThunder, make use of TruEmu is made to counteract the simulator paid Corellium’s monopoly in the iOS SDK to run a few chosen iOS apps that are recompiled emulation for x86security reasearch. [[BlackThunder]] The creator’s mastodon and X (Chinese:黑雷模拟器formally Twitter)shows work on full SEP emulation and it booting to SpringBoard and operating the Calculator and Settings apps,website but it is currently unreleased, with only minor graphical glitches. The day videos of it’s operation were posted on social medias, a closed sourceuser made an issue about it and archived the repo with no comment, commercial iOS simulator only with a comment before it was emulated saying that can run he was working on multitouch. The reason it was unreleased remains uncertain. He may be developing a few commercial very capable iOS apps. Unlike previous emulation trailsemulator, BlackThunder firstly loads a highly trimmed Hackintosh image via VirtualBoxmay have been hired by Corellium, which loads Xcode or he may have been stopped by an Apple employee or has been paranoid about possible Copyright issues and an iOS simulator into decided to not release it, then runs iOS apps that are decompiled and recompiled for the x86 architecturenor make a comment.
:;CycadaiEmu: ''Cycada'' :QEMU-s5l89xx-port (also known without the -port) (20142012), formally also known as Cider iEmu, is another failed attempt to get an unreleased research project iPhone running in QEMU, this time the 1st generation. The last commits were made in 2013. Any Android app going by the name iEmu is a few folks at Columbia that ran iOS 5*scam* and should be avoided.1.1 and experimentally iOS 6 apps at Nowadays, a high, but not perfect quality and compatibility (see paper for list). It malicious APK file going by the '''iEmu''' moniker is based also being circulated on pirated blogs run by script kiddies claiming to offer a way to run iOS librariesapps on Android. It is seriously More often than not reccomended to initiate contact , they're uploaded with the developers intention of generating revenue from impressionable users (through pay-per-click URL shorteners) who fall easily for those types of the scams. The project, as they never planned on releasing it and want people to use their paper to reproduce it with "significant effort"started in 2011 but got mysteriously abandoned two years later before anything usable surfaced. All attempts pages related to release it by contacting them have resulted the project were removed. It's speculated Apple had a hand in them saying they are not interestedthis. You may try to recreate Cycada The name is based on your own, provided that you know the internals part number of Androidthe original iPhone, iOSand also is known to be called iVM, XNUhowever, and Linux. [https://systems.cs.columbia.edu/projects/cycada/ Website] - [https://jeremya.com/files/pub/2015/02/andrus-thesis.pdf Paper] - [https://www.youtubethis is unconfirmed.com/watch?v=Uaple0Ec1Dg Video demo] - [https://jeremya.com/files/pub/2014/03/cider/Cider-ASPLOS-2014-clean-full.pdf Presentation] - [http://engineering.columbia.edu/sync-columbia-engineering-team-first-run-ios-apps-android-platform Announcement] - [https://en.wikipedia.org/wiki/Columbia_Cycada Wikipedia] - [https://archive.org/details/image-071 Screenshots]
:;TruEmuunidbg:QEMU-t8030 : ''unidbg'' (20222020), also known as TruEmu, is an iPhone 11 emulated in QEMUa developer library that allows emulating Android binaries, however it does not have a display, and seems abandoned. [https://github.com/TrungNguyen1909/qemu-t8030 Source code] - [https://i.blackhat.com/USA-22/Thursday/US-22-Nguyen-TruEmu.pdf Presentation] ;iEmu:QEMU-s5l89xx-port (2012), also known as iEmu, is another failed attempt to get an iPhone running in QEMU, this time the 1st generation. The last commits were made "experimental" iOS support was added sometime in 20132021. Any Android app going by the name iEmu It is a *scam* and should be avoidedunknown if any apps are supported. [https://github.com/danzatt/QEMU-s5l89xx-port Source Code Mirror (Up to late 2012)] - [http://web.archive.org/web/20131213053331/http://www.iemu.org/index.php/Main_Page Website (archived)] - [http://web.archive.org/web/20130410061346/https://github.com/cmwdotme/QEMU-s5l89xx-port Source Code (Archive)]
:;unidbgaah: ''unidbg'' : aah (2020arm64 architecture handler) is a developer library uses unicorn and libffi to run iOS arm64 binaries on x86_64 macOS, with varying degrees of success. Most things will fail to launch because they need frameworks/symbols that allows emulating Android binariesaren't available on macOS. aah relies on the Mac Catalyst frameworks that are present on macOS 10.15. Additionally aah requires the source code of the app to run it, however "expiramental" like the iOS support was added some time simulator/emulator in 2021XCode. It is unknown if any apps are supportedhttps://twitter.com/maczydeco/status/1155588054486310912 https://github.com/zydeco/aah
:;aahipasim: aah : ''ipasim'' (arm64 architecture handler2017) is a high-level emulator written in C++ that uses unicorn and libffi Microsoft's winObjC to run recompile 64-bit iOS arm64 binaries on x86_64 macOS, with varying degrees of successapps into apps in live. Most things will fail to launch because they need frameworks/symbols that arenIt doesn't available on macOSsupport much apps except for really basic ones. aah relies It was more focused on the Mac Catalyst frameworks that are present on macOS 10.15. https://twitter.com/maczydeco/status/1155588054486310912 https://githubapps than games.com/zydeco/aah
:;ipasim: **ipasim** (2017) is a high level emulator written in C++ that uses Microsoft's winObjC to recompile 64xnu-bit iOS apps into apps in live. It doesn't support much apps except for really basic ones. It was more focused on apps then games. [Source code](https://github.com/ipasimulator/ipasim) qemu- [Project page](httpsarm64://janjones.me/projects/ipasim/) - [Paper](https://githubA security research emulator created by Aleph.com/ipasimulator/ipasim/blob/master/docs/thesis/thesis.pdf) - [Poster](https://github.com/ipasimulator/ipasim/blob/master/docs/thesis/posterMuch like TruEmu, it can partially run iOS, with launch services working correctly.pdf)
;DarlingHypervisor:Although no ;Corellium::A service made by the Israeli company of the same name that runs any modern iOS support exists at devices, some Android devices, or bring-your-own IoT devices on either the momentcloud or a self-hosted server. Compatibility is basically perfect, [https://wwwand they have hardware iOS 10.darlinghq3 to the latest iOS version, with debugging features and security tools, as well as IPA installing.org/ Darling] wants They also have iPhone 7 to add support for iOS apps the latest iPhone in the “long term”terms of hardware. [[Hypervisors#Type_1_hypervisors|The devices run on an ARM hypervisor called "CHARM"]]. Although not stated'''For individuals, they might add support it costs 3 USD per hour''' for most use excluding some cybersecurity tools. The site also prohibits users under 18 from using their service. '''The service is made for other platforms based on iOScybersecurity, such as tvOS or watchOS in the futurenot general use'''.
==Our Most Recommended==;NativeThis is an overall guide :;macOS 11 and up::Since macOS 11 Big Sur, the 17th major operating system of the macOS line, the operating system for people looking Mac computers has support for an iOS emulator. If you have a and iPadOS applications for Apple Silicon Mac and want to emulate 64-bit/modern based Macs. However, some apps, just use Sideloady and DecryptDay cannot be installed directly due to install the app itself on your M1 MacApple DRM. If you have This can be bypassed using an Intel Mac, try using “aah” which is your best option. If you want to emulate 32-bit iOS apps, use touchHLE for iPhone OS 2 apps, if your app is one of the only of the handful of supported apps, IPA file and if not, you can patiently wait for Cycada to release or get recreated, but it likely won’t ever happenPlayCover/Sideloady. If you just want to try the look and feel of the first iPhone[https://iOS, devos19’s QEMU fork is the best optionsupport. If you are emulating for the purpose of something related for cybersecurity or advanced testing not in the XCode emulator, try and purchase Corellium, however if you are broke or a minor, your only real option is TruEmu, even though it can only be used for testing low level iOS components because it cannot boot to iOS yetapple. If you want to easily run VERY simple iOS com/guide/app-store/iphone-ipad-apps on Windows, use ipasim, even though there is nearly zero people in -mac-apple-silicon-fird2c7092da/mac See this category. If you would like to run a few commercial iOS apps and games from China, use BlackThunderpage].
==History :;Cycada:: ''Cycada'' (2014), formally known as Cider and Chameleon before that is an unreleased research project made by a few folks at Columbia that ran iOS 5.1.1 and experimentally iOS 6 apps at a high, but not perfect quality and compatibility (see paper for list). It is based on pirated iOS libraries. It is seriously not recommended to initiate contact with the developers of the project, as they never planned on releasing it and want people to use their paper to reproduce it with "significant effort". All attempts to release it by contacting them have resulted in them saying they are not interested. You may try to recreate Cycada on your own, provided that you know the internals of failed Android, iOS emulation attempts==TODO, XNU, and Linux. Out of 69 tested apps, 19 apps fully work, 10 work with minor bugs that do not affect functionality, 15 have major errors that affect functionality, and 27 crash. Only [https://github.com/darlinghq/darling/issues/1168#issuecomment-1115143186 one recreation] is known to exist, which is also unreleased, and it was made by the creator of DarlingHQ along with two other unknown individuals. It took about a year to develop, and one component of it was released. The one exception where some original code was published was [https: fix //github.com/darlinghq/darling-newlkm here], to be reused in Darling later on. Jeremy Andrus was accused of being a sellout for leaving the project to work as a kernel programmer (Now a Cloud Computing Efficiency worker) for Apple. The project booted many 32-bit iOS apps successfully, albeit slowly. The last update to thisproject was in [https://dl.acm.org/doi/pdf/10.1145/3135974.3135981 '''2017''']. (NOTE: If you search "Cider APK", you will get iPhone 12 launcher adware) To see the paper, its specifications, its compatible apps, and possibly recreate it, merge this with emulatorssee [http://jeremya.com/files/pub/2015/02/andrus-thesis.pdf here]
;Compatibility layer ([[Compatibility_layers|...]])?
:;Darling
::Although no iOS support exists at the moment, [https://www.darlinghq.org/ Darling] wants to add support for iOS apps in the “long term”. Although not stated, they might add support for other platforms based on iOS, such as tvOS or watchOS in the future.
==Hardware features==
''This table focusing on early iOS operating system and crucial hardware features that can be possible to emulated through software or will be possible in the near future. Including everything or niche modern iOS features (e.g. [[List_of_games_that_support_Pressure-Sensitive_Face_Buttons#iOS_Emulation|3D Touch / Pressure Sensitive Buttons]], [https://www.reddit.com/r/EmulationOniOS/comments/1dcrgy1/new_game_mode_coming_to_ios_18/ Game Mode]) would result in an endless list.''
Many of {| class="wikitable" style="text-align:center;width:100%"|- style="font-weight:bold;"! colspan=2 | Name! TouchHLE! QEMU-iOS! Corellium|-| colspan=2 | [[Wikipedia:IOS#Home_screen|Home screen]]<br/><small>This shouldn't be confused with emulator frontend/GUI.</small>| {{✗}}| {{~}}| {{✓}}|-| colspan=2 | Non-game apps| {{✗}}| {{~}}| {{✓}}|-| colspan=2 | [[Wikipedia:IOS#Notification_Center|Notification Center]]| {{✗}}| {{✗}}| {{✓}}|-| colspan=2 | [[Wikipedia:IOS#App_Store_bypasses|Sideloading/Installing]]| {{✓}}| {{?}}| {{✓}}|-| colspan=2 | Wi-Fi| {{~}}<abbr title="Local Area Network (LAN) only">*</abbr>| {{✗}}| {{✓}}|-| colspan=2 | Bluetooth| {{✗}}| {{✗}}| {{✗}}|-| colspan=2 | [[Wikipedia:Multi-touch#Applications|Multi-touch]]| {{?}}| {{?}}| {{?}}|-| colspan=2 | [[List_of_games_that_support_tracked_motion_controllers#iOS_Emulation|Motion sensors]]| {{✓}}[https://github.com/hikari-no-yume/touchHLE/blob/trunk/OPTIONS_HELP.txt#L33 *]| {{✗}}| {{?}}|-| colspan=2 | [[Wikipedia:IOS#Multitasking|Location]]| {{✗}}| {{✗}}| {{✓}}|-| rowspan=2 | Connectivity| [[Preservation_projects#Private_Platform_Servers|Game Center]]<br/><small>Achievements, Challenges, Leaderboards etc.</small>| {{✗}}| {{✗}}| {{?}}|-| [[Wikipedia:Apple_Push_Notification_service|Apple Push Notification service]]| {{✗}}| {{✗}}| {{✓}}|-! colspan=5 | [[Wikipedia:List_of_Apple_codenames#iOS|OS versions]]|-| colspan=2 | iPhone OS 1| {{✗}}| {{✓}}| {{✗}}|-| colspan=2 | iPhone OS 2<br/><small>iPhone OS 2.2.1 was the last version compatible solely with ARMv6 chips.| {{✓}}| {{✓}}| {{✗}}|-| colspan=2 | iPhone OS 3<br/><small>Supported both ARMv6 and ARMv7-A chips.</br>| {{✓}} <br> <small>(Only 3.0)</small>| {{✗}}| {{✗}}|-| colspan=2 | iOS 4<br/><small>iOS 4.2.1 was the last version supported ARMv6 chips.</small>| style="background: Orange;"|WIP| {{✗}}| {{✗}}|-| colspan=2 | iOS 5|style="background:skyblue;"|[https://github.com/hikari-no-yume/touchHLE#touchhle-high-level-emulator-for-iphone-os-apps Future goal]| {{✗}}| {{✗}}|-| colspan=2 | iOS 6<br/><small>iOS 6.1.6 was the currently available last version compatible solely with 32-bit ARMv7-A chips.</small>|style="background:skyblue;"|[https://github.com/hikari-no-yume/touchHLE#touchhle-high-level-emulator-for-iphone-os-apps Future goal]| {{✗}}| {{✗}}|-| colspan=2 | iOS 7 to 10<br/><small>Supports both 64-bit ARMv8''x''-A and 32-bit ARMv7-A chips. iOS 10.3.4 was the last version that supported 32-bit chips.</small>|style="simulatorsbackground:{{{color|#FFD2D2}}};"|[https://github.com/hikari-no-yume/touchHLE/issues/181#issuecomment-1777098259 Never]| {{✗}}| {{~}} (iOS 10.3.3 and 10.3.4 only)|-| colspan=2 | iOS 11 to ''present'' only try recreating popular |style="background:{{{color|#FFD2D2}}};"|[https://github.com/hikari-no-yume/touchHLE/issues/181#issuecomment-1777098259 Never]| {{✗}}| {{✓}}|-| colspan=2 | iPadOS|style="background:{{{color|#FFD2D2}}};"|[https://github.com/hikari-no-yume/touchHLE/issues/181#issuecomment-1777098259 Never]| {{✗}}| {{✗}}|-| colspan=2 | WatchOS|style="background:{{{color|#FFD2D2}}};"|[https://github.com/hikari-no-yume/touchHLE/issues/181#issuecomment-1777098259 Never]| {{✗}}| {{✗}}|-! colspan=5 | [https://developer.apple.com/documentation/xcode/application-binary-interfaces Supported ABIs]|-| colspan=2 | [https://developer.apple.com/documentation/xcode/writing-armv6-code-for-ios ios_armv6] (iPhone OS 1 – iOS apps 4.2.1)<br/><small>Supporting ios_armv6 ABI is crucial for emulators due to compatibility and [[Preservation_projects|preservation]] reasons.</small>| {{✓}}[https://github.com/merryhime/dynarmic?tab=readme-ov-file#supported-guest-architectures *]| {{✗}}| {{✗}}|-| colspan=2 | [https://developer.apple.com/documentation/xcode/writing-armv7-code-for-ios ios_armv7a] (like browsersiPhone OS 3 – iOS 10.3.4) in a PC application with no real emulation involved<br/><small>Supporting ios_armv7a ABI is crucial for emulators due to compatibility and [[Preservation_projects|preservation]] reasons. Some notable <br/> Older applications and games often rely on the [[Emulator scamsWikipedia:ARM_architecture_family|scamsARM 32-bit (Cortex)]] architecture, which isn't used in such fashion are called newer hardware.</small>| {{✓}}[https://github.com/merryhime/dynarmic?tab=readme-ov-file#supported-guest-architectures *]| {{✗}}| {{✗}}|-| colspan=2 | [https://developer.apple.com/documentation/xcode/writing-arm64-code-for-apple-platforms ios_armv8.''x''a] (iOS 11.0 to 'iPadian'present'' or variations on the name, )|style="background:{{{color|#FFD2D2}}};"|[https://github.com/hikari-no-yume/touchHLE/issues/181#issuecomment-1777098259 Never]| {{✗}}| {{?}}|-! colspan=5 | [https://developer.apple.com/documentation/technologies Supported APIs]|-| colspan=2 | [https://developer.apple.com/documentation/opengles OpenGL ES x.x] (iPhone OS 2 – iOS 12.0)<br/><small>Supporting OpenGL ES x.x APIs is crucial for emulators due to compatibility and are often [[Preservation_projects|preservation]] reasons.</small>| {{✓}}[https://github.com/hikari-no-yume/touchHLE?tab=readme-ov-file#development-status *]| {{?}}| {{?}}|-| colspan=2 | [https://developer.apple.com/metal/ Metal] (iOS 8 to ''present'malware')|style="background:{{{color|#FFD2D2}}};"|[https://github.com/hikari-no-yume/touchHLE/issues/181#issuecomment-1777098259 Never]| {{✗}}| {{?}}|}<references group=N4/> ==Enhancements=={| class="wikitable" style="text-align:center;width:100%"|- style="font-weight:bold;"! colspan=2 | Name! TouchHLE! QEMU-iOS|-|rowspan=1 | Graphics| [[Resolution|Resizable Internal Resolution]]| {{✓}}[https://github.com/hikari-no-yume/touchHLE/blob/trunk/OPTIONS_HELP.txt#L23 *]| {{?}}|-|rowspan=6 | Post-Processing| [[Shader_Presets|Shader Chain]]| {{✗}}| {{✗}}|-| [[Shaders_and_filters|Filters]]| {{✗}}| {{✗}}|-|[[Shaders_and_filters#AI-powered filters|AI-powered filter compatible]]<br/><small>([https://www.nvidia.com/en-us/geforce/news/gfecnt/nvidia-freestyle-ansel-enhancements-geforce-experience-article/ Freestyle])</small>| {{?}}| {{?}}|-| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br/><small>(FXAA, TXAA and MLAA/SMAA)</small>| {{✗}}| {{✗}}|-| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br/><small>(Sharp bilinear, Lanczos and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small>| {{✗}}| {{✗}}|-|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]]| {{?}}| {{?}}|-| rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features]| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]| {{?}}| {{?}}|-| Rewind| {{✗}}| {{✗}}|-| Fast-Forward/Turbo Speed| {{✗}}| {{✗}}|-| Savestates| {{✗}}| {{✗}}|-| [https://tasvideos.org/Movies Movie recording/playback]| {{✗}}| {{✗}}|-| rowspan=3 | Input| [[Controllers#Mouse Injectors for Emulators|Keyboard input injection]]<br/><small>Early versions of iOS didn't support keyboard input.<br/>One way an iOS emulator can provide keyboard input for these versions is through the injection method, which sends keystrokes input data directy into emulated memory.</small>| {{✗}}| {{✗}}|-| [[Controllers#Mouse Injectors for Emulators|Mouse input injection]]<br/><small>Early versions of iOS didn't support mouse input.<br/>One way an iOS emulator can provide mouse input for these versions is through the injection method, which sends cursor input data directy into emulated memory.</small>| {{✗}}| {{✗}}|-| [[Controllers#Mouse Injectors for Emulators|Gamepad input injection]]<br/><small>Before [[Wikipedia:MFi_Program|MFi]] extended support in iOS 7 (unlocking gamepad compatibility for devices like the [https://blog. logitech.com/2013/11/20/compatible-games-for-logitech-powershell-controller-battery/ Logitech Powershell Controller]).<br/> Earlier iOS versions (1-to-6) offered [https://www.gottabemobile.com/ios-6-gaming-ipad-controller-iphone/ no native gamepad support].</small>| {{✗}}| {{✗}}|-| rowspan=6 | Quality of life| [[Save_disk_space_for_ISOs#PlayStation_1|Streamable compression format]]| {{✗}}| {{✗}}|-| Per-Game Profiles| {{✓}}| {{✗}}|-| Command Line Options| {{✓}}| {{?}}|-| On-Screen Display<br/><small>Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.</small>| {{✗}}| {{✗}}|-| Built-in On-Screen Control<br/><small>Simulating touch input on display via keyboard or gamepad. This QoL enhancement is crucial for lots of touch input exclusive games.<br/>Also you can use third party apps such as [https://apps.apple.com/us/app/shootingplus-v3/id1447087625 ShootingPlus V3] for this.</small>| {{✓}}[https://github.com/hikari-no-yume/touchHLE/blob/trunk/OPTIONS_HELP.txt#L33 *]| {{✗}}|-| Big Picture Mode| {{✗}}| {{✗}}|-| rowspan=4 | Misc| [[Wikipedia:Variable_refresh_rate|Variable Refresh Rate compatible]]| {{✗}}| {{✗}}|-| [[Virtual_reality#VR_game_room_simulations|EmuVR support]]| colspan=11 | Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment. So there is no support.|-| AI Service<br/><small>With the help of <abbr title="optical character recognition">OCR</abbr> and other techniques, the AI service can provide a live translation of a game, or text-to-speech capabilities for the visually impaired among other things, either on demand or automatically.</small>| colspan=11 | Exclusive to [https://docs.libretro.com/guides/ai-service/ libretro cores] at the moment. So there is no support.|-| Debug features| {{~}}[https://github.com/hikari-no-yume/touchHLE/blob/trunk/OPTIONS_HELP.txt#L131 *]| {{?}}|}<references group=N3/>
* 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.==Scams==* Nowadays, a malicious APK file going by Many of the currently available '''iEmu"solutions"''' moniker is also being circulated on blogs run by script kiddies claiming to offer a way to run only try recreating popular 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 shortenerslike browsers) who fall easily for those types of scamsin a PC application with no real emulation involved.* There has been a project to provide a runtime for iOS apps to run on '''Android''' called Some notable [[http://systems.cs.columbia.edu/projects/cycada/ '''Cycada'''Emulator scams|scams]] (formerly known as in such fashion are called '''CideriPadian'''). Not much progress has been madeor variations on the name, 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 was in [https://dl.acm.org/doi/pdf/10.1145/3135974.3135981 are often '''2017malware''']. (NOTE: If you search "Cider APK"iPadian itself is not a real emulator and cannot actually emulate any iOS, you will get iPhone 12 launcher adwareiPadOS, even on UpToDown or Malavida) * There was watchOS code and just use recreations that are limited in functionality and are not ports. “AIR iPhone” is also a project based simulator in Adobe Flash. Malware on [[QEMU]] that usually went around Android also goes by the name QEMU-s5l89xx (“iEmu”, “Cider” and “Cycada”, based on the part number unfinished and unreleased projects of the original iPhone)same name, and is sometimes iOS launcher software that is possibly infected by malware. iOS emulators that aren't scams operate like XCode, or iVMwhere they cannot run non-development builds. The last known commits *TikTok videos by the user “iPod Emulator Hype” appear to this project were in 2013show QEMU-iOS running on an Android device and a web browser, however, the Android version is confirmed to be a VNC client and faked, with the HTML5 version likely fake as well.*Blog sites suggest “iOSEmus” as an iOS emulator for Android devices. In reality, it is unclear if this project will ever come an alternate App Store for iOS to fruitioninstall jailbreak tools including console emulators and other tools on iOS 11.
Your best bet, until touchHLE supports your 32-bit app, ARM macOS is able to be virtualized without an ARM Mac (for 64-bit), or a new emulation effort is ever started, is to hope that whatever iOS app you're interested in gets an Android port. This is very rare, especially for Japanese ones, as Android is perceived to be more open to piracy. That appears to be gradually changing lately and isn't of as much concern for non-gaming apps. However, in the U.S., the trend goes to iOS exclusively, including the Faves, Bloom, and the official ChatGPT apps getting iOS versions first, and a trend of users in Anglo-America discriminating against Android users, forcing them to switch to iOS also may contribute to the need for one.
iOS apps are distributed in the IPA format==External links==*[[Wikipedia:Comparison_of_mobile_operating_systems|Comparison of mobile operating systems]] (Wikipedia)*Reddit: [https://www.reddit.com/r/LegacyJailbreak/ r/LegacyJailbreak] (old devices) [https://www. Like Android's APK files, they are standard ZIP files, so their contents can be browsed and extracted most of the timereddit.com/r/Jailbreak/ r/Jailbreak] (new devices)
{{Apple}}
[[Category:Mobiles]]
[[Category:Media Players]]
[[Category:iOS emulators|*]]
[[Category:Operating systems]]
[[Category:Mobile Operating Systems]]
[[Category:MAME Driver Status: Preliminary]]
[[Category:ARM-based]]

Navigation menu