The first question a lot of beginners ask is do they need an iPhone or an iPad to make iOS apps?
Can you build an iOS app without an iPhone or iPad? Yes. It is possible to build an iOS app without owning a physical iPhone or iPad. This is possible through using the iPhone and iPad simulators in Xcode. There are also third-party simulators that you can use to develop your iOS application.
Although nothing beats holding the physical device in your hand, simulators have gotten quite good at behaving like the real thing. Let’s talk about the different simulators you can test your iOS app on.
iOS simulators are virtual iPhones and iPads that run on your Mac machine. They look just like a real iOS device, just virtualized.
Open up Xcode and you’ll see the different simulators you have installed next to the Run options.
Click this button and you’ll see a large list of simulators you can run your iOS app on. This includes iPhones and iPads from different generations.
At the bottom of this menu, you’ll see an option to Add Additional Simulators or Download Simulators. This allows you to find more simulators for your app to run on. I use these options when I need to download an old iOS version or I need to debug a device specific bug.
iOS Simulators have a lot of options and it can be confusing when you use one for the first time. I will now go over some of the common commands you’ll use when testing your iOS App.
To take a screenshot of your simulator, use the keyboard shortcut CMD-S. This will save an image of your simulator to your desktop. You can also go to File > New Screenshot.
Screenshots are an efficient way of showing off a new feature to share on social on media or to share a bug with a teammate. They’re an effective communication tool you’ll use often when becoming an iOS developer.
To rotate your iOS simulator, use the keyboard short-cuts CMD left-arrow and CMD right-arrow. You can go to the menu Hardware > Rotate Left or Hardware > Rotate right.
It is important to test your iOS application in both the Portrait and Landscape orientation! The simulator easily allows to see your app in both orientations.
To show your hide the soft keyboard in your simulator go to Hardware > Keyboard > Toggle Software Keyboard. You can also use the keyboard shortcut CMD K.
Make sure you test your app with the keyboard shown and the keyboard hidden. It’s easy for critical views or features to be hidden behind the keyboard and create a frustrating user experience.
You can also connect your laptop or hardware keyboard to the simulator by going to Hardware > Keyboard > Connect Hardware Keyboard or by using the keyboard shortcut CMD Shift K.
Go to Debug > Location and you’ll be presented with multiple options. These options include a custom location where you can enter longitude and latitude. You can also select in-motion locations such as city run, city bicycle ride, and freeway driving. These modes can be useful especially for exercise or driving apps.
To see the home screen you can either click the home button on the simulator or if it’s a newer device without a home button, you can swipe up. You can also go to Hardware > Home or use the keyboard shortcut Shift+Command+H.
You may have turned on slow animations by mistake. To turn it off go to Debug > Slow Animations or use the keyboard shortcut CMD T.
You can resize your simulator by clicking and dragging one corner of it. You can also use the keyboard shortcuts CMD 1, CMD 2 and CMD 3 to get different sizes of simulators. These options are found in the window menu.
You can set the input audio to your simulator by going to Hardware > Audio Input. You can also set the output audio by going to Hardware > Audio Output.
You can test the shake gesture on your iOS simulator by going to Hardware > Shake Gesture. Or by using the keyboard shortcut Control Command Z.
The simulator is great tool for testing and makes development a lot faster. It’s great to see your code changes on screen without requiring a separate device to test them on.
However, there are some differences between the real device and simulator that you’ll need to account for.
Motion controls are different to test on a simulator. This is especially true for gaming applications that require the user to tilt or move the device physically. These applications are not well-suited to be tested on the simulator and a real device should be used instead.
Phone calls and texting are also not testable on the simulator. The simulator cannot make phone calls or text messages. If your application is a messaging application, you should consider testing a real iOS device. Some applications also require identity verification through text messages or phone calls. These features will also have to be tested on real devices.
Camera functions also need to be tested on a real device. The simulator cannot take pictures that accurately represent what would happen through a real device. If you’re creating a photo sharing or photo editing application, be sure to have a real device on hand to see the images. Video editing applications will also require real devices.
Networking and connecting between two different devices are also difficult to test with the simulator. If your app requires a connection to a Bluetooth device or another iOS device you should use real devices. For example, if your app is a music player, you should test that it can broadcast to speakers properly. If your app is a multi-player video game, you’ll have to be sure it can connect to other local iPhones easily.
Ultimately, simulators are good for most development cases and can save you a lot of time as a developer. It’s important to know their limitations and when to use a physical iOS device.
Do I need a MacOS or OSX computer to develop iOS apps? No, it is possible to use a Windows or a Linux machine to develop iOS apps. You’ll need to use OSX either through renting a mac online or virtualization.