Learn how you can install the iOS simulator on your Mac and use it to develop your app.
It's often convenient to develop your app directly on your computer rather than having to physically interact with an iPhone and iPad and load your app over the network, which may be slow under some conditions such as if you need to use a tunnel connection because LAN isn't possible on your network.
This guide explains how you can install the iOS Simulator on your Mac and use it for developing your app. It is impossible to install the iOS Simulator on any operating system except macOS. If you want to develop an app for iOS from a Windows machine then you will need a physical iOS device.
Open up the Mac App Store, search for Xcode, and click install (or update if you have it already). If you're unable to update, it is because your operating system might be out of date. We recommend updating your operating system to the latest version and then updating Xcode. You may run into issues further down the line if your Xcode version is out of date. For example, you may not be able to submit your app to the App Store.
Open Xcode, then choose Settings... from the Xcode menu (or press Cmd ⌘ + ,). Go to the Locations and install the tools by selecting the most recent version in the Command Line Tools dropdown.
Run your app with
npx expo start and press i from the command line.
You may get a warning about needing to accept the Xcode license. Run the command that it suggests. Open your app again to see if it was successful. If not, check the troubleshooting tips below.
If the troubleshooting tips are not helpful, ask a question in our forums, Stack Overflow, or Google.
You can also press Shift + i in the Expo CLI to interactively select a simulator to open.
Although the iOS Simulator is great for rapid development, it does come with a few limitations. We'll list out a few of the main differences that affect Expo APIs here, however, Apple's documentation goes into more detail.
The following hardware is unavailable in the Simulator:
The Simulator also suspends background apps and processes on iOS 11 and later.
Sometimes the iOS Simulator doesn't respond to the open command. If it seems stuck on this prompt, you can open the iOS Simulator manually (
open -a Simulator) and then in the macOS toolbar, choose File > Open Simulator, and select an iOS version and device that you'd like to open.
You can use this menu to open any version of the simulator. You can also open multiple simulators at the same time, however, Expo CLI will always target the most recently opened simulator.
The first time you install the app in the simulator, iOS will ask if you'd like to open the Expo Go app. You may need to interact with the simulator (click around, drag something) for this prompt to show up, then press OK.
Create a project with the desired SDK version and open it in a simulator to install a particular version of Expo Go.
# Bootstrap an SDK 49 project
npx create-expo-app --template blank@49
# Open the app on a simulator to install the required Expo Go app
npx expo start --ios
For miscellaneous errors, try the following: