> ## Documentation Index
> Fetch the complete documentation index at: https://docs.median.co/llms.txt
> Use this file to discover all available pages before exploring further.

# App Studio Simulators

> Preview, test and share your iOS and Android app in browser-based device simulators while you build and configure it in the App Studio.

Every app in the Median App Studio comes with cloud-based iOS and Android device simulators built right into the editor. As you change your configuration, the simulator rebuilds and relaunches your app so you can see the effect immediately, without downloading a build or owning a physical device.

Use the simulators to check navigation, styling, permissions, native features and device-specific behavior throughout your build, not just at the end.

![App Studio simulator panel showing an iPhone 14 Pro running iOS 26](https://mintcdn.com/median-co/vMagwrz4eP0hNocB/images/docs/simulators/simulator-panel.png?fit=max\&auto=format\&n=vMagwrz4eP0hNocB\&q=85\&s=e75b2e8ae9923593efddd7428786f183)

The simulator panel in the App Studio

## Starting the simulator

**1. Choose a platform**

Select **iPhone**, **Android Phone**, **iPad** or **Android Tablet** from
the tabs at the top of the simulator panel.

**2. Pick a device and OS version**

Use the dropdowns below the device to choose a specific model (for example,
iPhone 14 Pro or Pixel 8) and operating system version (for example, iOS 26
or Android 14).

**3. Wait for the build**

The progress bar above the device shows the build status (for example,
**Building iOS...**). Building takes a short while the first time and after
configuration changes.

**4. Click to Start App**

Once the build is ready, click **Click to Start App** on the device screen
to launch a simulator session with your app.

> [!TIP]
>
> Test on at least one phone and one tablet for each platform, and on both an
> older and the latest OS version you support. Layout and WebView behavior can
> differ noticeably between them.

## Simulator settings

Click the **gear icon** next to **Simulator** to open the simulator settings.

![Simulator settings menu with Auto-Rebuild, Auto-Restart, Debug Mode and Public Sharing Link](https://mintcdn.com/median-co/vMagwrz4eP0hNocB/images/docs/simulators/simulator-settings.png?fit=max\&auto=format\&n=vMagwrz4eP0hNocB\&q=85\&s=2516925b55b824b40dfc45c3592d93fb)

Simulator settings

| Setting | What it does |
| - | - |
| **Auto-Rebuild** | Automatically rebuilds the simulator app whenever you save a configuration change in the App Studio. |
| **Auto-Restart** | Automatically restarts the app in the simulator after a rebuild, so you're always looking at your latest configuration. |
| **Debug Mode** | Opens additional controls below the simulator to launch the web console logs or Appetize. |
| **Public Sharing Link** | Opens a shareable link to a simulator of your app that anyone can use without an App Studio login. Useful for sharing progress with stakeholders, testers or clients. |

> [!NOTE]
>
> If you're making a series of changes and don't want the simulator to rebuild
> after each one, turn off **Auto-Rebuild** and rebuild manually when you're
> ready.

## Toolbar controls

The toolbar above the device gives you quick access to common device actions.

![Device actions menu with Face ID, Add Media, Shake, Toggle Software Keyboard, Lock and Location and more device actions](https://mintcdn.com/median-co/vMagwrz4eP0hNocB/images/docs/simulators/simulator-buttons.png?fit=max\&auto=format\&n=vMagwrz4eP0hNocB\&q=85\&s=911825434c26eb9e8b8331493420c86b)

Device actions

| Icon | Control | What it does |
| - | - | - |
| `100%` | **Zoom** | Scales the device in the panel. Lower it to fit large devices such as tablets on smaller screens. |
| `EN` | **Language** | Sets the device language, so you can check [localized](https://docs.median.co/docs/localization.md) app content, native UI strings and right-to-left layouts. |
| | **Home** | Presses the device home button, sending your app to the background. Use it to test background/foreground behavior such as session handling and push notification taps. |
| | **Rotate device** | Rotates the device between portrait and landscape orientations. |
| | **Screenshot** | Captures the current device screen. |
| | **Dark mode** | Toggles the device between light and dark appearance, so you can verify your app and website respond to the system color scheme. See [Dark mode](https://docs.median.co/docs/dark-mode.md). |

### More device actions

Click the **⋮** menu at the end of the toolbar for additional device actions. These become available once a session is running.

| Icon | Control | What it does |
| - | - | - |
| | **Face ID** | Simulates a matched biometric authentication prompt. Use it to test biometric login with the [Face ID / Touch ID](https://docs.median.co/docs/apple-face-id-touch-id.md) plugin. |
| | **Add media** | Uploads an image or video to the device. Use it to test file uploads, photo pickers and camera roll access. See [Camera and file uploads](https://docs.median.co/docs/camera-and-file-uploads.md). |
| | **Shake** | Simulates shaking the device. Use it to test shake gestures and any features triggered by device motion. |
| | **Toggle software keyboard** | Shows or hides the on-screen keyboard. Use it to test forms, input focus and how your layout behaves when the keyboard covers part of the screen. |
| | **Lock** | Locks the device screen. Use it to test lock/unlock behavior, session timeouts and app resume handling. |
| | **Location** | Sets the device's GPS location. Use it to test geolocation features, location permissions and location-based content. See [Location services](https://docs.median.co/docs/location-services.md). |

## Layout options

Use the toggle in the top-right of the simulator panel to switch the panel layout to compare two devices side-by-side. This is useful for checking how your app looks on different screen sizes, orientations and platforms.

## What the simulators can and can't test

The simulators run a real build of your app, so most configuration and native features behave as they will on a device. A few things need a physical device:

* Some third-party SDK integrations can't run in a simulator. Plugin documentation notes when this is the case.
* Push notification delivery, in-app purchases, camera capture, NFC, Bluetooth and similar hardware-dependent features should be verified on a real device.
* Performance on a simulator doesn't reflect real device performance as the simulator runs in a data center with optimized connection speeds.

When you're ready to test on hardware, see [Build & test overview](https://docs.median.co/docs/development-test-deep-dive.md).

## Session limits

Simulator sessions have a limited runtime and number of sessions depending on your plan. Enterprise customers receive extended runtime and unlimited simulator sessions.

You can find the latest session limits on our public [Pricing page](https://median.co/pricing).

## Frequently asked questions

> [accordion] My website blocks the simulator. Which IP addresses should I allow?
>
> The simulators run in data centers across several regions. If your website
> or API restricts access by IP, allowlist the IP blocks listed at
> [median.co/ip-blocks](https://median.co/ip-blocks).

> [accordion] My changes aren't showing in the simulator
>
> Check that **Auto-Rebuild** and **Auto-Restart** are turned on in the
> simulator settings, or rebuild and restart manually. Website content changes
> appear on reload, but App Studio configuration changes require a rebuild.

> [accordion] Why are the actions in the ⋮ menu greyed out?
>
> Device actions are only available while the app is running. Click **Click to
> Start App** to start a session first.

> [accordion] Can I share the simulator with someone who doesn't have an App Studio account?
>
> Yes. Open the simulator settings and click **Public Sharing Link** to get a
> link anyone can open in their browser.


## Related topics

- [Build and test overview](https://docs.median.co/docs/development-test-deep-dive.md)
- [Tutorial: Build a fitness tracker app with Lovable and Median](https://docs.median.co/docs/getting-started-with-lovable.md)
- [Changelog](https://docs.median.co/docs/changelog.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.