Changes

Jump to navigation Jump to search

IOS emulators

7,303 bytes added, 14 April
Scams
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 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 a few older iPhone OS 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.
==ROMs==
TODO: Merge this with ROM & ISO sites<br>https://archive.org/details/ipaarchive is the best source for classic ROMs. Just search your app or find collections with your app in it. https://decrypt.day/ is the best source for modern app ROMs that are all free.
==Emulators==
Also tons of obsolete non-active iOS "emulator" exists, see [https://emulation.gametechwiki.com/index.php?title=IOS_emulators&oldid=72605 this page] for more.
{| class="wikitable" style="text-align:center;width:100%"
! scope="col"|Name
! scope="col"|Platform(s)
|[https://touchhle.org/ touchHLE]
|align=left|{{Icon|Windows|macOS}}
|[https://github.com/hikari-no-yumetouchHLE/touchHLE/releases 0.2.12]
|{{~}}
|{{~}}
|[https://appdb.touchhle.org/ 3028%<br/><small>46 52 out of 152 188 reported titles</small>]
|{{✓}}
|{{✓}}
|{{~}}
|?
|?N/A
|{{✓}}
|{{✓}}
|{{~}}
|-
|[https://www.corellium.com/ Corellium]
|align=left|{{Icon|Web}}
|[https://www.corellium.com/ Web-based] ($)
|?
|?
|?
|{{✗}}
|{{✓}}
|{{~}}
|-
|[[BlackThunder]]
!colspan="9"|Mobile / ARM
|-
|[https://appletouchhle.org/ touchHLE]|align=left|{{Icon|Android}}|[https://github.com/macos macOShikari-no-yume/touchHLE/releases 0.2.2]|{{~}}|{{~}}|[https://appdb.touchhle.org/ 28%<br/><small>52 out of 188 reported titles</small>] 11 |{{✓}}|{{✓}}|{{~}}|} ==Hypervisors [[Hypervisors|(...)]]==<div style="overflow-x:auto;width:100%">{| class="wikitable" style="text-align:center;width:100%"! scope="col"|Name! scope="col"|Platform(Big Surs) ! scope="col"|Latest version! scope="col"|[[#Hardware_features|Hardware features]]! scope="col"|[[#Enhancements|Enhancements]]! scope="col"|Compatibility! scope="col"|<abbr title="Free/Libre and upOpen-Source Software">FLOSS<br/abbr>! scope="col"|Active! scope="col"|[[Recommended emulators|Recommended]]|-|[https://supportwww.applecorellium.com/guide/app-store/iphone-ipad-apps-mac-apple-silicon-fird2c7092da/mac Not an emulatorCorellium]|align=left|{{Icon|macOSWeb}}<ref group=N name=applesilicon>Requires Mac computers with Apple Silicon (M series) processors.</ref>|14[https://www.1 corellium.com/ Web-based] (Sonoma$)
|?
|?
|{{✗}}
|{{✓}}
|{{~}}<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://touchhleapple.orgcom/ touchHLEmacos macOS]11 Big Sur|align=left|{{Icon|AndroidmacOS}}<ref group=N>Requires Mac computers with Apple Silicon (M series) processors.</ref>|[https://github.com/hikari-no-yume/touchHLE/releases 1.0]14 Sonoma|?|?|{{~}}?|{{~}}|[https://appdb.touchhle.org/ 30%<br/><small>46 out of 152 reported titles</small>]
|{{✓}}
|{{✓}}
|{{~}}
|}
<references group=N />
;Emulators
:;[[touchHLE]]
::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 is required. Its initial target is iPhone OS 2.x, with plans to support other 32-bit iOS versions, mainly 3.x and 4.x, as well as the iPad. Development started in December 2022, and its initial 0.1.0 release came out in February 2023. [https://appdb.touchhle.org/ touchHLE supports a handful of apps], with most apps that do not crash on the start working absolutely perfectly. touchHLE supports running IPA files directly. A game controller is required to control the accelerometer. touchHLE has an app archive that currently only has two apps being touch and go and it’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.
:;macOS 11 and upQEMU-iOS:Since macOS :Previously unnamed and referred to as “devos50’s qemu fork”, Based on earlier work emulating the S5L8900 and the iPhone 11 Big Surin QEMU. It can emulate an iPod Touch 1G running iOS 1.0, including iBoot, the 17th major operating system of kernel, and the macOS lineSpringboard, the operating system for Mac computers has support for iOS although it requires a modified NOR and NAND image. Some features, such as audio and iPadOS applications for Apple SiliconWi-based MacsFi, are not emulated, and there are multiple crashes. HoweverAbout a year later, the same user managed to run iPhone OS 2 on an emulated iPod Touch 2G, some apps however internet connectivity is not figured out yet, and nobody has yet ran a 3rd party app via filesystem hacks as of now, as both networking and USB (iTunes) are unemulated and cannot be installed directly due to Apple DRM. This can be bypassed using an IPA file and PlayCover/Sideloadyregularly.
:;[[touchHLE]]MAME:A promising new endeavor that aims to run older iOS apps by reimplementing standard libraries instead of internal components. Because of this very high-level approach, no dump of the operating system is required. Its initial target is :Very basic iPhone OS 2.x, with plans to 2G support other 32-bit iOS versions, mainly 3.x and 4.x, as well as the iPad. Development started in December 2022, and its initial 0.1.0 release came out in February 2023. available [https://appdbgithub.touchhlecom/mamedev/mame/blob/master/src/mame/apple/iphone2g.org/ touchHLE supports a handful of appscpp here], with most apps <small>(that do not crash on the start working absolutely perfectlycannot boot iOS)</small>. touchHLE supports running IPA files directly. A game controller is required to control the accelerometer. touchHLE has an app archive that currently only has two apps being touch and go and it’s lite version, which are licensed '''Unlikely to ever 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 requestscompleted. '''
:; QEMU-iOSBlackThunder:Previously unnamed and referred to as “devos50’s qemu fork”:Closed-source, Based on earlier work emulating the S5L8900 and the iPhone 11 in QEMU. It commercial iOS emulator that can emulate an iPod Touch 1G running run a few commercial iOS 1apps.0The official iOS SDK (macOS-only) only allows for running your own projects, including iBoot, the kernel, and the Springboard, although it requires a modified NOR and NAND imagei.e. Some features, such they run code generated for an x86 target rather than ARM code as audio and Wi-Fiused by iOS. However, are not emulatedsome emulators, and there are multiple crashese.g. About a year laterBlackThunder, make use of the simulator in the same user managed iOS SDK to run iPhone OS 2 on an emulated iPod Touch 2Ga few chosen iOS apps that are recompiled for x86. Unlike previous emulation trails, however internet connectivity is not figured out yet, and nobody has yet ran BlackThunder first loads a 3rd party app highly trimmed Hackintosh image via filesystem hacks as of nowVirtualBox, as both networking which loads Xcode and USB (iTunes) an iOS simulator into it, then runs iOS apps that are unemulated decompiled and cannot be installed regularlyrecompiled for the x86 architecture.
;Hypervisor:;Corellium::A service made by the Israeli company of the same name that runs any modern iOS devices, some Android devices, or bring-your-own IoT devices on either the cloud or a self-hosted server. Emulation Compatibility is basically perfect, and they have hardware iOS 10.3 to the latest iOS version, with debugging features and security tools, as well as IPA installing. They also have iPhone 7 to the latest iPhone in terms of hardware. [[Hypervisors#Type_1_hypervisors|The devices run on an ARM hypervisorcalled "CHARM"]]. '''For individuals, it costs 99 3 USD per hour''' for two cores, which only has iPhone 7, and 295 USD for six cores, to most use modern iPhonesexcluding some cybersecurity tools. The site also prohibits users under 18 from using their service. '''The service is also made for cybersecurity, not gaminggeneral use'''.
;MAMENative:Very basic iPhone 2G support available [https://github.com/mamedev/mame/blob/master/src/mame/apple/iphone2g.cpp here]. '''Unlikely to ever be completed.''' ;BlackThundermacOS 11 and up:The official iOS SDK (:Since macOS 11 Big Sur, the 17th major operating system of the macOS-only) only allows line, the operating system for running your own projects, i.e. they run code generated Mac computers has support for an x86 target rather than ARM code as used by iOSand iPadOS applications for Apple Silicon-based Macs. However, some simulators, eapps cannot be installed directly due to Apple DRM. This can be bypassed using an IPA file and PlayCover/Sideloady.g[https://support. BlackThunder, make use of the simulator in the iOS SDK to run a few chosen iOS apps that are recompiled for x86apple. [[BlackThunder]] is a closedcom/guide/app-store/iphone-ipad-source, commercial iOS simulator that can run a few commercial iOS apps. 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-mac-apple-silicon-fird2c7092da/mac See this page].
==Hardware features==
''These are Android This table focusing on early iOS operating system features. This list only includes 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 would result in an endless list.''
{|class="wikitable" style="text-align:center; vertical-alignwidth:middle;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 | [https://controller.wtf/mfiNon-controllers Game controllers (MFi)]| {{✗}}game apps
| {{✗}}
| {{~}}
| {{✓}}
|-
| colspan=2 | [https://support.apple.com/en-us/105004 Mouse]| {{✗}}| {{✗}}|-| colspan=2 | [[Wikipedia:IOS#Notification_Center|NotificationsNotification 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 | Bluetooth[[Wikipedia:Multi-touch#Applications|Multi-touch]]| {{?}}| {{?}}| {{?}}|-| colspan=2 | [[Wikipedia:IPhone_hardware#Sensors|Motion sensors]]| {{Y}}[https://github.com/hikari-no-yume/touchHLE/blob/trunk/OPTIONS_HELP.txt#L33 *]| {{✗}}| {{?}}|-| colspan=2 | [[Wikipedia:IOS#Multitasking|Location]]
| {{✗}}
| {{✗}}
| {{✓}}
|-
| colspanrowspan=2 | Airplane modeConnectivity| [[Preservation_projects#Private_Platform_Servers|Game Center]]<br/><small>Achievements, Challenges, Leaderboards etc.</small>
| {{✗}}
| {{✗}}
| {{?}}
|-
|rowspan=6 | [[Wikipedia:List_of_Apple_codenames#iOSApple_Push_Notification_service|OS versionApple Push Notification service]]|iPhone OS 1{{✗}}| {{✗}}
| {{✓}}
|-
! 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 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="background:{{{color|#FFD2D2}}};"|[https://github.com/hikari-no-yume/touchHLE/issues/181#issuecomment-1777098259 Never]
| {{✗}}
| {{✓}} (iOS 10.3.3+)
|-
| colspan=2 |iOS 411 to ''present''| WIPstyle="background:{{{color|#FFD2D2}}};"|[https://github.com/hikari-no-yume/touchHLE/issues/181#issuecomment-1777098259 Never]
| {{✗}}
| {{✓}}
|-
|iOS 5colspan=2 | iPadOS|style="background:{{{color|#FFD2D2}}};"| [https://github.com/hikari-no-yume/touchHLE/issues/181#touchhleissuecomment-high-level-emulator-for-iphone-os-apps Future goal1777098259 Never]| {{✗}}
| {{✗}}
|-
|iOS 6colspan=2 | WatchOS|style="background:{{{color|#FFD2D2}}};"| [https://github.com/hikari-no-yume/touchHLE/issues/181#touchhle-high-level-emulator-for-iphone-osissuecomment-apps Future goal1777098259 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 4.2.1)<br/><small>Supporting ios_armv6 ABI is crucial for emulators due to compatibility and [[Preservation_projects|preservation]] reasons.</small>
| {{Y}}[https://github.com/merryhime/dynarmic?tab=readme-ov-file#supported-guest-architectures *]
| {{N}}
| {{N}}
|-
| colspan=2 | [https://developer.apple.com/documentation/xcode/writing-armv7-code-for-ios ios_armv7a] (iPhone OS 3 – iOS 10.3.4)<br/><small>Supporting ios_armv7a ABI is crucial for emulators due to compatibility and [[Preservation_projects|preservation]] reasons.<br/> Older applications and games often rely on the [[Wikipedia:ARM_architecture_family|ARM 32-bit (Cortex)]] architecture, which isn't used in newer hardware.</small>
| {{Y}}[https://github.com/merryhime/dynarmic?tab=readme-ov-file#supported-guest-architectures *]
| {{N}}
| {{N}}
|-
| colspan=2 | [https://developer.apple.com/documentation/xcode/writing-arm64-code-for-apple-platforms ios_armv8.''x''a] (iOS 11.0 to ''present'')
|style="background:{{{color|#FFD2D2}}};"|[https://github.com/hikari-no-yume/touchHLE/issues/181#issuecomment-1777098259 Never]
| {{N}}
| {{?}}
|-
! 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 [[Preservation_projects|preservation]] reasons.</small>
| {{Y}}[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'')
|style="background:{{{color|#FFD2D2}}};"|[https://github.com/hikari-no-yume/touchHLE/issues/181#issuecomment-1777098259 Never]
| {{N}}
| {{?}}
|}
<references group=N4/>
==Enhancements==
{|class="wikitable" style="text-align:center; vertical-alignwidth:middle;100%"
|- style="font-weight:bold;"
! colspan=2 | Name
|rowspan=1 | Graphics
| [[Resolution|Resizable Internal Resolution]]
| {{Y}}[https://github.com/hikari-no-yume/touchHLE/blob/trunk/OPTIONS_HELP.txt#L23 *]
| {{?}}
|-
|rowspan=4 6 | Post-Processing
| [[Shader_Presets|Shader Chain]]
| {{✗}}
| {{✗}}
| {{✗}}
|-
|[[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]
| {{✗}}
|-
| 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]]
| {{✗}}
|-
| 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>
| {{NY}}[https://github.com/hikari-no-yume/touchHLE/blob/trunk/OPTIONS_HELP.txt#L33 *]
| {{N}}
|-
| [[Compatibility_layer|Built-in translation layer]]
| {{?}}
| {{?}}
|-
| Big Picture Mode
| {{✗}}
| {{✗}}
|-
| rowspan=2 | Misc
| [[Wikipedia:Variable_refresh_rate|Variable Refresh Rate compatible]]
| {{N}}
| {{N}}
|-
| Debug features
| {{~}}[https://github.com/hikari-no-yume/touchHLE/blob/trunk/OPTIONS_HELP.txt#L131 *]
| {{?}}
|}
<references group=N3/>
==Scams==
Many of the currently available '''"simulatorssolutions"''' only try recreating popular iOS apps (like browsers) in a PC application with no real emulation involved. Some notable [[Emulator scams|scams]] in such fashion are called '''iPadian''' or variations on the name, and are often '''malware'''. iPadian itself is not a real emulator and cannot actually emulate any iOS, iPadOS, or watchOS code and just use recreations that are limited in functionality and are not ports. “AIR iPhone” is also a simulator in Adobe Flash. Malware on Android also goes by the name “iEmu”, “Cider” and “Cycada”, based on the unfinished and unrelated unreleased projects of the same name, and is sometimes iOS launcher software that is possibly infected by malware. iOS emulators that aren't scams operate like XCode, where they cannot run non-development builds.
*TikTok videos by the user “iPod Emulator Hype” appear to show 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 an alternate App Store for iOS to install jailbreak tools including console emulators and other tools on iOS 11.
==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.reddit.com/r/LegacyJailbreak/ r/LegacyJailbreak] (new devices)
{{Apple}}
[[Category:Media Players]]
[[Category:iOS emulators|*]]
[[Category:Operating systems]]
[[Category:Mobile Operating Systems]]
[[Category:MAME Driver Status: Preliminary]]
[[Category:ARM-based]]
Anonymous user

Navigation menu