Running the app in the iOS simulator
The iOS simulator is installed when you install Xcode. It provides a simulated iOS device so that you can see what your app looks like and how it behaves, without needing a physical iOS device. It can model all the screen sizes and resolutions for both iPad and iPhone so you can test your app on multiple devices easily.
To run your app in the simulator, follow these steps:
- Click the Scheme menu in the toolbar and you will see a list of simulators. Choose iPhone SE (3rd generation) from this menu:
Figure 1.14: Xcode Scheme menu with iPhone SE (3rd generation) selected
- Click the Play button to install and run your app on the currently selected simulator. You can also use the Command + R keyboard shortcut.
- The simulator will launch and show a representation of an iPhone SE (3rd generation). Your app displays a white screen, as you have not yet added anything to your project:
Figure 1.15: iOS Simulator
- Switch back to Xcode and click on the Stop button (or press Command + .) to stop the currently running project.
You have just created and run your first iOS app in the simulator! Great job!
If you look at the Scheme menu, you may wonder what the Devices and Build sections are for. Let’s take a look at them in the next section.
Understanding the Devices and Build sections
You learned how to choose a simulator in the Scheme menu to run your app in the previous section. In addition to the list of simulators, the Scheme menu also has Devices and Build sections. These allow you to run apps on actual iOS devices, and prepare apps for submission to the App Store.
Click the Scheme menu in the toolbar to see the Devices and Build sections at the top of the menu:
Figure 1.16: Xcode Scheme menu showing Devices and Build sections
If you have an Apple Silicon Mac, the Devices section will display text stating My Mac (Designed for iPad), because Apple Silicon Macs can run iOS apps. Otherwise, No Devices will be displayed. If you were to plug in an iOS device, it would appear in this section, and you would be able to run the apps you develop on it for testing. Running your apps on an actual device is recommended as the simulator will not accurately reflect the performance characteristics of an actual iOS device, and does not have some hardware features and software APIs that actual devices have.
The Build section has only one menu item, Any iOS Device. This is used when you need to archive your app prior to submitting it to the App Store. You’ll learn how to do this in Chapter 27, Testing and Submitting Your App to the App Store.
Now let’s see how to build and run your app on an actual iOS device. The vast majority of the instructions in this book do not require you to have an iOS device though, so if you don’t have one, you can skip the next section and go straight to Chapter 2, Simple Values and Types.