Run your React Native app on multiple iOS simulators simultaneously

While developing React Native apps I often find myself in the need of testing on multiple iOS simulators at the same time. From the React Native docs it does not seem obviously possible, but the truth is: it is possible!
While digging around on Google and SO for a solution, I “accidentally” found this trick myself.

Here is how to run your React Native app on multiple iOS simulators simultaneously:

1) Install your app on the 1st device

By running the “react-native run-ios” command the react-native-cli will automatically open the simulator application, install and launch your app.

GIF (link to video file):

2) Change device and install again – then repeat

While focus is in the simulator app window, head to “Hardware > Device > iOS .. > ” and then select any of the devices in the list. Then run “react-native run-ios” in your terminal again. This will install and launch the app on the new simulator device.

GIF (link to video file):

Repeat this step just as many times you like (for installing on even more devices).

3) Manually open more instances of the simulator

Open a new window in your terminal and run the following command:

open -n /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app

This command will open a new instance of the Simulator application, which is the key trick to running your React Native on multiple iOS simulators.

Note: When you run this command you will get a prompt saying “Unable to boot device in current state: Booted”. You would most likely think that the command was unsuccessful, but it wasn’t: ff you look in your dock a second simulator app has actually been launched.

Now go to “Hardware > Device > iOS .. > ” again and select the other device you installed your React Native app on from the previous step (step 2).

GIF (link to video file):

Repeat this step just as many times you you like (or as many times you repeated step 2)

4) Done!

You should now have your React Native app running on multiple iOS simulators. Great! 🙂

Note: Hot reloading does not work on multiple simulators at the same time. Normal reload works fine.

Tip: For multiple Android simulators use Genymotion.

Leave a Reply

Your email address will not be published. Required fields are marked *