Next-Gen App & Browser Testing Cloud
Trusted by 2 Mn+ QAs & Devs to accelerate their release cycles

You configure a simulator by opening its settings or configuration interface and adjusting the device profile, OS version, and runtime parameters. In the iOS Simulator you choose a device and iOS runtime in Xcode, then set location, appearance, and network from the menus. In the Android Emulator you create a virtual device in the Device Manager and tune RAM, storage, resolution, and network in the AVD settings and extended controls.
Simulators are software programs that imitate real-world devices so you can run and test apps without physical hardware. Their behavior is controlled either through a graphical settings interface inside the tool, or through configuration files and command-line flags read when the simulator launches. The exact options differ by platform, but the common parameters are the same everywhere: the device profile (model and screen), the operating system version, and runtime conditions such as network, GPS location, and locale.
Before diving in, it helps to know the distinction: on iOS you work with a Simulator that mimics the software environment, while on Android you work with an Emulator that reproduces device hardware including the CPU architecture. That difference is why Android emulators are heavier but often closer to real device behavior.
The iOS Simulator ships with Xcode. To configure it:
The Android Emulator is managed through Android Studio's Device Manager:
For CI pipelines and repeatable setups, both platforms expose command-line tools. This is the most reliable way to configure simulators identically across machines:
# iOS: list, create, and boot a simulator
xcrun simctl list devices
xcrun simctl create "iPhone 15 Pro" "iPhone 15 Pro" "iOS17.5"
xcrun simctl boot "iPhone 15 Pro"
# iOS: set a GPS location and dark appearance
xcrun simctl location "iPhone 15 Pro" set 37.7749,-122.4194
xcrun simctl ui "iPhone 15 Pro" appearance dark
# Android: create an AVD, then launch with custom settings
avdmanager create avd -n Pixel_8_API_34 -k "system-images;android-34;google_apis;x86_64" -d pixel_8
emulator -avd Pixel_8_API_34 -memory 2048 -netspeed lte -no-snapshotScripting configuration this way keeps every test run consistent and removes manual clicks from your build. If you only need Android specifics, see the sibling guide on how to configure emulator settings.
Configuring simulators well gets you fast, cheap early feedback, but they cannot reproduce true GPU rendering, battery behavior, camera input, biometric sensors, or carrier networks. That is why teams pair virtual devices with real ones for release validation. With TestMu AI you can run your app on 3000+ real browsers and devices, including a large fleet of real iOS and Android phones across many OS versions, without maintaining a physical device lab.
This lets you develop against configured simulators, then reproduce and confirm fixes on the exact real device and OS a user reported. Explore real device cloud and mobile app testing to see how virtual and real-device testing fit together.
Configuring simulator settings comes down to three layers: choose the right device profile and OS version, tune runtime parameters like RAM, network, GPS, and appearance, and, where possible, script that configuration through xcrun simctl or avdmanager for consistency. Use simulators for fast iteration, then validate on real devices so hardware-specific issues never reach your users.
Open Xcode, go to Settings then Platforms to download the iOS runtime you need, then launch Xcode > Open Developer Tools > Simulator. Use the Device and Features menus to pick a model and set location, network, and appearance, and add more devices via Window > Devices and Simulators.
Open the Device Manager, click Create Virtual Device, choose a hardware profile and system image, then use Advanced Settings to set RAM, storage, and graphics. Once the emulator is running, the extended controls let you change GPS, network speed, and battery level.
Yes. On iOS, xcrun simctl creates, boots, and configures simulators, including setting location and appearance. On Android, avdmanager and the emulator binary create and launch AVDs with custom RAM, resolution, and network flags, which is ideal for CI pipelines.
A simulator (iOS) mimics the software environment and runs apps compiled for the host machine, while an emulator (Android) reproduces the full device hardware including the CPU architecture. Emulators are heavier to run but behave closer to real hardware than simulators.
Simulators and emulators cannot fully reproduce real hardware factors such as true GPU performance, battery drain, camera, biometric sensors, push notifications, or carrier network conditions. Final validation should always happen on real devices to catch issues virtual devices miss.
On iOS, download additional runtimes in Xcode > Settings > Platforms and add devices in Devices and Simulators. On Android, download more system images through the SDK Manager, then create a new virtual device for each API level in the Device Manager.
KaneAI - Testing Assistant
World’s first AI-Native E2E testing agent.

TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance