Tune in to watch the keynote — October 17 & 18 at 10am
Build the future of communications.
Start building for free

How to Test Your iOS Application on a Real Device

Screen Shot 2018-07-31 at 4.25.07 PM

There are some features of iOS apps that don’t work from the iOS simulator. Maybe you want to test how your application works with the device camera or send an SMS message from your application. For these examples and more you’ll need to test and debug your app using a real device.

This post will walk through how to run the Xcode simulator on your iPhone or other iOS device and show you how to fix some common errors you’ll see along the way.

How to select your iPhone as the “Simulator” Device

Simulator is in quotes here since this will create an actual app on your phone; it’s no longer a simulation. Open up a project in Xcode and click on the device near the Run ▶ button at the top left of your Xcode screen.

Plug your iPhone into your computer. You can select your device from the top of the list.

Unlock your device and (⌘R) run the application. You’ll see Xcode install the app and then attach the debugger. The application should pop up on your phone.

 

Troubleshooting Common Errors

The first time I tried to connect my iPhone to Xcode it didn’t work. According to my best friend, Stack Overflow, I’m not the only one who has had issues. Let’s share the fixes to some common errors you might encounter.

“Signing Requires a Development Team”


Xcode requires that you’ve connected a Team to your project in order to run the simulator on a device. You can do this from the “General” tab of your Project Settings. As of Xcode 7 this can be any Apple ID.

Open the Team menu that currently says “None” and select your team. If you don’t have a team, select “Add an Account…” and create one with your Apple ID.

Xcode claims your device is locked when it isn’t

This fun bug has been happening since at least Xcode 6. There are a lot of potential solutions in this Stack Overflow post. Here’s what worked for me:

  1. Unplug your iPhone
  2. Reset Location & Privacy on your iPhone. Found under Settings >> General >> Reset
  3. Plug in your iPhone
  4. Hit Trust when prompted to Trust This Computer

You can learn more about how trusting computers works from Apple’s support.

“iPhone is Busy”

Xcode 9 “iPhone is busy: Preparing debugger support for iPhone”

The unsatisfying answer for this one is to just wait.

If you don’t have a sword fighting partner, you can try the following:

  1. Unplug your device
  2. Restart both Xcode and your iPhone
  3. Plug in your device

That worked for me, but a lot of folks had luck with “Solution #3” from this Stack Overflow post.

Activate your Debugging Superpowers

The Jasonette docs FAQ has some more tips if you have other related issues. Now that you’ve got your application running on a device you can make the most of your testing and debugging experience with these tips:

If you have any questions or run into any other issues, feel free to reach out to me on Twitter @kelleyrobinson.

Authors
Sign up and start building
Not ready yet? Talk to an expert.