This repository contains source code of ipasim, an iOS emulator for Windows.
It takes a compiled iOS application and emulates it. However, only the
application's machine code is emulated, whereas system functionality originally
provided by iOS is translated to an equivalent functionality available on
Windows. More detailed documentation is available.
Currently, only simple applications can be emulated. Working samples can be
found in folder samples. For more information about (un)implemented
features, see author's thesis, its Conclusion in
particular.
- touchHLE (2023)
We use Git Submodules
(recursively), so make sure you clone with --recurse-submodules. We also use
Git LFS, so make sure you have that installed if
you want to get all files. You might also want to use --depth 1 for a faster
checkout.
If you want to use the emulator, you can either build it from sources (that's slow), use partially prebuilt artifacts (that's fast and recommended if you want to make changes; however, you still need to have Docker and Visual Studio installed) or just use prebuilt binaries (recommended if you don't want to make changes).
depscontains third-party dependencies (mostly as Git submodules because patching was necessary).docscontains documentation and issues.includehas C++ headers of the project.samplescontains sources of sample iOS applications and some other samples.scriptscontains various scripts, mostly supporting build of the project.srccontains C++ sources of the project.- HeadersAnalyzer is a tool that runs at compile-time, generating supporting code for the emulator.
- IpaSimulator is the emulator itself.
- objc contains our port of Apple's Objective-C runtime to Windows.
- iOS emulator for Windows, a bachelor thesis of Jan Joneš.