How To Test On Real iOS Devices With Appium - Part 1

January 18, 2026 · 10 min read · Mobile Testing

HeadSpin Platform
Automated & amp; manual examination make leisurely through data science insights.
Differentiating capabilities:
  • Extensive end-to-end automation of QA process
  • Relative analysis of app performance against peers
  • Uninterrupted monitoring of app performance employ man-made information for higher availability of apps
  • Easy-to-use developer friendly platform
cloudtest go
Affordable Real Device Testing for Emerging Teams
cloudtest go
Affordable Existent Device Testing for Digital Enterprises
cloudtest go
The Ultimate Solution for a Powerful Blend of Functional & amp; Performance Testing!
cyol
TEM
New
Centralized nomadic test execution in cloud
cyol
Enhance Your Accessibility Testing With HeadSpin
cyol
Automate camera-based testing

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

retail

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎

How To Test On Real iOS Devices With Appium, Part 1How To Test On Real iOS Devices With Appium, Part 1

How To Test On Existent iOS Devices With Appium - Part 1

Published on
October 24, 2018
Updated on
Published on
May 19, 2022
Updated on
 by 
 Jonathan LippsJonathan Lipps
Jonathan Lipps
This is the initiatory in a 2-part serial on using existent iOS devices with Appium. It & # x27; s a tutorial on let start from scratch, authored by Appium contributorJonah Stiennon. Since getting set up with real iOS devices can be a long and mired process, this initiatory edition will cover all the preliminary employment you need to do to make sure Appium, your app, and your twist will all be able to verbalize to each other. Stay tuned for next hebdomad when Jonah will establish us how to put it all together.

This edition of Appium Pro is about get depart with a existent iOS device test starting from scratch. Real iOS device prove can only occupy place on a Mac. (NB: This tutorial was publish with OS X v10.14, Xcode version 10.0, automating an iPhone X S lead iOS adaptation 12.0.1. While the tutorial should continue largely correct for other versions, your milage may depart!)

Organize Our Work Area

First thing first, let & # x27; s pick up our workspace and get ready to part a new project. Let & # x27; s do sure all our software is up to appointment. To begin with, insure that we have the modish variation of Xcode instal. Then, since we will be usingHomebrew, let & # x27; s run brewage update. Next let & # x27; s launch Xcode in case it hasn & # x27; t be launched before. (You will need to take the End User License Agreement and may receive to click a button to & quot; install additional components & quot;).

Install additional documents confirmation popup image

Next we will installlibimobiledevice, an open source packet which is capable to communicate with iOS devices. The only functionary application make by Apple for communicating with iOS devices are Xcode and iTunes. These applications weren & # x27; t make to easily allow programmatic use, which is why Appium uses libimobiledevice for sure operations.

brewage install libimobiledevice

Appium also utilize a package phoneios-deployfor reassign iOS apps onto your device, so let & # x27; s install that too.

brew install ios-deploy

WDA itself requires an iOS dependency manager nameCarthage. Since Appium will be automatically building the WDA app, we need to install Carthage so it is available to the WDA bootstrap operation.

Pro tip: Tools like SUSA can handle this autonomously — upload your app and get results without writing a single test script.

brewage install carthage

OK, now we & # x27; ve establish some things that Appium needs, but let & # x27; s make sure we hold Appium installed as easily. I & # x27; m proceed to install theAppium Desktop App. Download the latestAppium-x.x.x.dmg file fromthe freeing page. Open the file and drag the Appium.app picture into your Applications folder.

Finally, with the housecleaning on our Mac now terminate, let & # x27; s do certain our iOS device is set up:

  • Turn the iOS device on
  • Plug the twist into your Mac
  • Unlock the device
  • Wait for a dialog to appear on the device and select to & quot; Trust & quot; the Mac

Running trial on the device will always require you to unlock it. There are parts of this process where if the device is locked, things may get into a bad state and the only way to keep will be to unplug the device and plug it back in. In order to avoid any farther issues (and chafe), let & # x27; s go into the Settings app, selectDisplay & amp; Brightness, select Auto-Lock, and set it tonever, to ensure that the blind ne'er lock on us mid-test. (Obviously this means it & # x27; s a good thought to keep your earpiece plug in, and maybe set the smartness down a bit to salvage some electrons).

Run App Manually Using Xcode

Before using Appium to run tests on our twist, let & # x27; s do sure we can manually run our app on the device using Xcode. Opening the Xcode workspace for the app we want to essay, we choose the device we want to run the app on by clicking the picture to the right of our app name by the ▶ button in the upper left hand nook. Xcode will usually mechanically select our device once plugged in, but sometimes we have to select it ourselves.

xcode run button image

My app is so new that I haven & # x27; t set up Xcode with my developer profile. If you & # x27; re like me, Apple will want us to file with them before I go any further. If I click the play push, it tells me I need a provisioning profile. Clicking on my app in the file browser on the left side of Xcode I & # x27; m brought to the chief scope for the project.

xcode general app settings

There & # x27; s a warning signaling in the & quot; signing & quot; section. Select the dropdown next toTeam choose Add an Account. If I worked on a team with other people, at this point I & # x27; d be inquire them to add me to their team which should already be set up to run this app. Sign in with our Apple ID, click on & quot; manage certificates & quot; and click the+button to add a new security. Xcode is helpful and handles the rest. Now we can go rearwards to our app background page and prefer our name from the dropdown.

xcode signing options

The certificate we created has an important piece of information we will need later. We necessitate the & quot; Organizational Unit & quot; which is a way to identify our development team. Let & # x27; s open the Keychain Access app on our Mac and preferMy Certificatesin the lower lefthand corner. Now the main panel will expose our new developer certificate. Double-click on the certificate we just created to see its particular. Make a billet of the ten digit ID next toOrganizational Unit.

keychain access app with certificate details

Going back to Xcode, clicking the ▶ button again in the upper lefthand nook will attempt to run our app on the device, but another error is log.

xcode could not launch app

Xcode is telling us that in order for the twist to run our app, the device has to rely our developer certificate. Normally, an iOS device will alone run apps from the App Store. An app which is placed on the gimmick but didn & # x27; t come from the app store could be malicious. The device checks the certificate that the app was compiled with and will entirely rely official app storage certificates. If we look at our device, we can see the app has been installed, it is just when the twist endeavour torunthe app that we encounter this mistake. As an interesting experiment, try manually tapping on the app on the device, this clip the twist (rather than Xcode) tries to apprise us how to rely the certificate.

iphone untrusted developer

We want the twist to trust our certificate which we added to Xcode in the previous step, so now we will tell the device to bank it. Let & # x27; s do incisively as it instructed, open theSettings app on the device, tap onGeneral, tap on Device Managementand pluck the Developer App Certificate which we created earlier.

iphone device management

Then tap the blue nexus to rely the app we & # x27; re trying to test.

By clicking the ▶ button in Xcode, the app now runs on our device!

There is a rather confusing issue I ran into, where Xcode asks us for our password while make our app. Typing the incorrect password will cause the alert to shake disagreeably, but typing the correct password and hitting the return key seems to do nothing.

codesign wants to access key

The underhanded issue going on here is that the default push activated by thereturn key is Allow, but we actually need to snapAlways Allow. Accidentally choosingAllow outcome in an selfsame popup look instantly. Dragging the window break another window underneath it. I really got myself into a mess this way.

codesign mess

Don & # x27; t worry, the simple but annoying solution is to patiently type your countersign and clickAlways Allowover and over until you act your way through all window.

At this point, we have:

  1. Gotten a fresh set of system dependencies
  2. Linked our device with Xcode
  3. Linked our developer account with Xcode
  4. Linked our device with the developer certificate employ to sign our app
  5. Launched our app manually on our device

Assuming this has all worked, we will be in full form for. In the next edition in this series, we & # x27; ll appear at how exactly Appium ends up controlling your app, and the unique capabilities required to create it all work.

Author & # x27; s Profile

Jonathan Lipps

LinkedIn
Author & # x27; s Profile

Piali Mazumdar

Lead, Content Marketing, HeadSpin Inc.

Piali is a dynamical and results-driven Content Marketing Specialist with 8+ years of experience in crafting engaging narratives and market collateral across divers industries. She excels in collaborate with cross-functional teams to develop innovational message strategies and deliver compelling, unquestionable, and impactful message that vibrate with target audiences and enhances brand authenticity.

LinkedIn

How To Test On Real iOS Devices With Appium - Part 1

4 Parts

regression intelligence blog
-

Regression Intelligence practical guide for advanced exploiter (Part 3)

Coming Soon
Regression Intelligence practical guide for advanced users
-

Regression Intelligence practical usher for advanced users (Part 4)

Coming Soon

Discover how HeadSpin can empower your business with superior testing potentiality

Our Platform enables you to:
accelerate time-to-market
Accelerate time-to-market, gaining a competitive edge
faster development cycles
Boost developer/QA productiveness with quicker ontogenesis cycles
automated buil-over-build regression testing
Automate build-over-build fixation testing for consistent results
gain better visibility into functional & performance issues
Gain best visibleness into functional and execution number
reduce mean time
Reduce base clip to identify/resolve during test, QA, and production
evaluate audio, video & qoe
Evaluate sound, video, and contented quality of experience (QoE) effortlessly
The trusted selection for spheric enterprises
Adobe
Hargreaves Lansdown
Truecaller
Crazylabs
Nedbank
Numeracle
Veryon
Close

Discover how HeadSpin can empower your business with superior testing capabilities

Our Platform enables you to:
accelerate time-to-market
Accelerate time-to-market, gaining a competitive edge
faster development cycles
Boost developer/QA productivity with faster development cycles
automated buil-over-build regression testing
Automate build-over-build regression try for consistent event
gain better visibility into functional & performance issues
Gain best visibleness into functional and execution issue
reduce mean time
Reduce mean time to identify/resolve during trial, QA, and production
evaluate audio, video & qoe
Evaluate sound, picture, and content quality of experience (QoE) effortlessly
The trusted choice for global endeavour
Close

Discover how HeadSpin can empower your business with superior testing potentiality

Our Platform enables you to:
accelerate time-to-market
Accelerate time-to-market, gaining a competitive edge
faster development cycles
Boost developer/QA productivity with faster development cycles
automated buil-over-build regression testing
Automate build-over-build regression testing for consistent results
gain better visibility into functional & performance issues
Gain better visibleness into functional and execution issues
reduce mean time
Reduce mean time to identify/resolve during examination, QA, and product
evaluate audio, video & qoe
Evaluate audio, picture, and contented character of experience (QoE) effortlessly
The trusted option for global initiative
Close

Connet Now

Wipro LogoVMLYR Logo
Close
Book a Meeting
Products
footer down arrow
Solutions
footer down arrow
Industries
footer down arrow
Features
footer down arrow
Support
footer down arrow
Resource Center
footer down arrow
Why Choose HeadSpin?
footer down arrow
Copyright © 2026 HeadSpin, Inc. All Rights Reserved.

Automate This With SUSA

Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts needed.

Try SUSA Free

Test Your App Autonomously

Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts.

Try SUSA Free