Besides the method in my last blog, I keep trying other methods to run the decrypted iOS App. Then I thought of the Xcode Simulator, which had no possibility to run the real iOS Apps before, due to the x86_64
platform restriction. But now, the Simulator from M1 Mac is also the arm64
architecture. Is it possible to run the decrypted iOS App in the simulator now ?
IOS Simulator in Xcode Apple’s homegrown Xcode software development environment for Mac comes with its own app simulator for iOS, tvOS, watchOS, and iMessage. Appetize.io is not an emulator. It is a service which provides an interactive video stream of iOS Simulator running on a macOS system. IOS Simulator is a part of the Xcode development tools, and can be downloaded for free to run on any macOS system. The iOS Simulator is also not an emulator.
In this post, I'm going to share a solution to run and test Flutter iOS app on window machine. We have an online platform Flutlab.io where we can create bundle of iOS and run this bundle on appetize.io online available simulator. Here, we going to explain complete steps to use both platforms to create bundle of iOS and run it on a simulator. This Tutorial helps to How to Install iOS Simulator on Mac OS MojaveThanks friends for watching this video,Kindly Subscribe & Support Our Channel. To put it simply, it requires a Mac to run the iOS simulator, which then sends the feed to a Windows computer. Platform: Windows. Pricing plans: Free, Paid.
Of course, Yes Now !!!
I wrote a tool to patch a macho file from iOS platform to Simulator platform.
Patch all the machos (include
frameworks
,dylibs
) within the iOS App by my toolad-hoc
code signing (free developer)codesign -f -s - /path/to/macho
Drag the iOS App to iOS Simulator, click to launch
Next I will talk about how to find the patch points.
Drag the decrypted iOS App into the iOS Simulator, and click to launch.
I got the crash :
Note the Termination Reason: Binary with wrong platform.
Question: How does the OS distinguish the arm64
machos from different platforms ?
I found the answer from the dyld source code
We can see there are at least 2 kinds of load commands that can be used to mark platform:
LC_BUILD_VERSION
LC_VERSION_MIN_XXX
From my test, it seems that the load command LC_ENCRYPTION_INFO[_64]
is also marked as PLATFORM_IOS
. So I have to patch 3 kinds of load commands to mark the macho as PLATFORM_IOSSIMULATOR
:
- Remove the load command
LC_ENCRYPTION_INFO[_64]
- Remove the load command
LC_VERSION_MIN_XXX
- Patch the platform to
7 (PLATFORM_IOSSIMULATOR)
in the commandLC_BUILD_VERSION
From my test, I can directly launch the iOS App from the Simulator after the patch, if SIP
is disabled. And I have to re-sign it with ad-hoc
(free developer) if SIP
is enabled.
Through the effort before, I can launch the iOS App from Xcode Simulator successfully.
But there are some known issues for some specific Apps:
- Some iOS App Extensions process crash
- Crash due to lack of sandbox entitlements
- Maybe other issues for specific App
I have tried to patch to PLATFORM_MACOS
directly:
- There is no problem for iOS command line program, and it is useful when you need to run iOS command line program on the M1 Mac.
- For iOS UI Application, we need to use environment variable
DYLD_FORCE_PLATFORM=2
to help us loadUIKit.framework
from/System/iOSSupport
directory.
Next are the test results for arm64
macho loading :
Arm64
executable process can loadarm64e
dylib directly.Arm64e
executable process cannot loadarm64
dylib.Patch
cpu subtype
to0x80000002
can bypass the platform check to load it successfully.macOS process cannot load iOS platform dylib, error: mach-o, but not built for platform macOS
Just patch the load_command
0x25=LC_VERSION_MIN_IPHONEOS
to0x24=LC_VERSION_MIN_MACOSX
There are a lot of Android emulators for your PC (Windows/Mac). If you search for IOS emulators you get a few names. We have made your task easier by gathering the best iOS emulators. These emulators are going to be useful for gamers or app developers. If you are looking for a good iOS simulator that lets you to run iPhone apps on laptops or desktops then keep reading.
6 Best IOS Emulators
As per our list, we have included free and paid iOS emulators, with detailed information about their features.
Appetize.io
This emulator is available for free and even you can purchase its premium version. It has a very simple interface. This emulator is very useful for app developers.
Ios Emulator For Mac
To install an app you just need a public key. The iPhone 5s and all its further versions can access this emulator even the iPad and iPod. It offers the users 100 minutes of usage in a month. Also, you can monitor your free period usage and set an alert before it reaches the end. To take advantage of more features you can switch to the premium version of Appetize.io
Xcode
This emulator is very smooth and works faster. It has been built-in for testing purposes. Get’s access to various devices and screen sizes as per the iOS. You are not allowed to install any random app, for that you require a source code.
Ios Emulator
For mac, it comes with an app simulator for iOS, watch/iMessage/tvOS.This Xcode is free for download, and one of the best apps for mac users and developers.
Electric Mobile Studio
This emulator gives you a web kit and chrome debugging tool so you can test your web apps. You get a full-fledged emulation for IOS devices and other applications. It also contains the ability to use the same product on two different machines.
Hot-Key navigations key for mapping the favorite shortcuts. Electric Mobile Studio emulator allows you a 7 days free trial and then you can go for a paid version. This is the best emulator for all windows users.
Smartface
This emulator has a very simple but attractive interface. It’s the best emulator for all the windows web developers, for testing the IOS applications.
You get free and the paid version of this emulator. Smartface is the perfect alternative for the ipadian emulator.
TestFlight
The Testflight is a great emulator for beta testing before heading towards the final rollout for all the app users. This emulator is now owned by apple. For the developer’s support for testing their apps like IOS, iMessage/tv/watchOS.
You must have an app store distribution profile. Also, you are not allowed to download any random application. TestFlight is free for download.
Corellium
One of the known web-based emulators. At first, this emulator was been used by enterprise users but now every individual can use it. This emulator is run or managed by the iPhone jailbreak scenes people.
This tool is a little bit hard to handle, just because of some security reasons. Corellium emulator has different paid plans.
Macos Run Ios Simulator Torrent
All these IOS emulators are a bit different from the Android emulators. All these emulators generally focus on app development. If you are a beginner or new app developer then you can use all the above emulators for practice purposes.