Search
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

How to install an IPA on your iOS device: A comprehensive guide

TL;DR: If you're a developer or IT admin, you can install an IPA file on an iOS device by using three methods: Xcode's drag-and-drop functionality, hosting it for over-the-air (OTA) installation, or using Apple Configurator. Your Apple Developer account type determines your options, but all three methods require proper provisioning profiles and code signing. Read more to learn about each method in detail.

If you’re a developer testing an app build, or a mobile administrator working with custom business apps, you’ve likely encountered the need to install an iOS app in the form of an IPA file directly on your iPhone or iPad. 

In this article, we’ll walk through several methods to install an IPA on an iOS device, as well as explaining how your Apple Developer account type affects what you can and can’t do when it comes to IPAs.

Instant Preview

Enter any URL to build your app

Please wait ...
Oops! Something went wrong while loading...

Understanding IPA files and eligibility requirements

What is an IPA file?

Although usually simply referred to as an “IPA,” the term is in fact an acronym for “iOS App Package.” It’s essentially the packaged version of an iOS app, similar to an APK on Android. 

To install an IPA on your device, it must include a valid provisioning profile and be signed with a valid signing certificate. This is where Apple’s developer programs come in.

Apple Developer account types:

Personal account using an Apple ID:

  • Apps can only be provisioned automatically using Xcode.
  • Typically apps are installed directly from Xcode after the build process but the IPA can be extracted from the build folder and installed using the methods detailed below.

Individual or organizational Developer Account:

  • Apps can be provisioned via the Apple Developer portal or automatically in Xcode.
  • IPA files can be installed on iOS devices with UUIDs listed in the provisioning profile, as configured in the Apple Developer portal.

Enterprise Developer Account:

  • Apps can be provisioned via the Apple Developer portal or automatically in Xcode.
  • IPA files can be installed on any managed device without registering the UUID.
Documentation Icon

Want to know how it all works?

Get hands-on with Median’s comprehensive documentation, and build your app with ease.

View Documentation

Method 1: Using Xcode and drag-and-drop installation

Who is this for?

This is ideal for developers who have access to Xcode, a Mac, and the app’s source code or a correctly signed IPA.

How it works:

1. Obtain the IPA and provisioning profiles: Ensure your IPA is built using a provisioning profile that includes your device’s UDID.

2. Connect your device to your Mac: Use a USB cable to connect your iPhone or iPad. Launch Xcode, open Window > Devices and Simulators.

3. Drag and drop the IPA: Once your device appears in Xcode’s Devices window, simply drag and drop the IPA file from the Finder onto the “Installed Apps” section. Xcode will install and verify the app.

Pros of using Xcode and drag-and-drop installation:

  • Straightforward process.
  • Ideal for ongoing development and testing.
  • No need for separate deployment services.

Cons of using Xcode and drag-and-drop installation:

  • Requires a Mac and Xcode.

Method 2: Over the Air (OTA) installation using a manifest file

Who is this for?

Useful for both ad hoc distributions (if you have a standard developer account and device UDIDs) and enterprise distributions.

How it works:

1. Create a manifest file: You’ll need to create an XML “manifest.plist” file that points to the IPA’s location and includes metadata like bundle identifier, version, and title. For example:

1<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
2<plist version="1.0">
3<dict>
4    <key>items</key>
5    <array>
6        <dict>
7            <key>assets</key>
8            <array>
9                <dict>
10                    <key>kind</key>
11                    <string>software-package</string>
12                    <key>url</key>
13                    <string>https://domain.com/app-install/app.ipa</string>
14                </dict>
15            </array>
16            <key>metadata</key>
17            <dict>
18                <key>bundle-identifier</key>
19                <string>co.median.ios</string>
20                <key>bundle-version</key>
21                <string>1.0</string>
22                <key>kind</key>
23                <string>software</string>
24                <key>title</key>
25                <string>Test App Builder</string>
26            </dict>
27        </dict>
28    </array>
29</dict>
30</plist>

2. Create an app install webpage: On a new or existing webpage, create an “Install App” link using a custom itms-services URL scheme that points to the manifest file. For example: 

<a href=”itms-services://?action=download-manifest&url=https://domain.com/app-install/manifest.plist”>
Install App
</a>

A screenshot showing the credentials needed to create a JWT.
Source: Median.co

3. Host the webpage, IPA, and manifest: You’ll need to host the app install webpage, IPA file, and manifest.plist file on a server that’s accessible by the devices that will be installing the IPA.

4. Install via browser: When the user taps the “Install App” link in Safari (only supported by Safari), they will be prompted to install the app directly onto their device.

A prompt to install the app directly onto users device.
Source: Median.co

Pros of an OTA installation using a manifest file:

  • OTA (over-the-air) installation — no macOS, USB cable, or Xcode needed.
  • Great for distributing test builds to multiple testers or for enterprise internal apps.

Cons of an OTA installation using a manifest file:

  • Requires hosting on a secure (HTTPS) server.

Method 3: Using the Apple Configurator

Who is this for?

This is useful for team members who have a macOS device but do not use Xcode, or IT teams and administrators who need to manage multiple iOS devices within an organization.

How it works:

1. Install Apple Configurator: If not already available, install Apple Configurator directly from the Apple App Store on macOS: some text

2. Save the IPA locally: Save the IPA file so that it is accessible within Finder.

3. Launch Apple Configurator: Connect the device via USB, open Apple Configurator, select Add > Apps.

4. Choose your IPA file, and it will install onto the device.

Pros of using the Apple Configurator:

  • No need for Xcode or hosting the IPA file on a server.
  • Additional options within Apple Configurator to use “Blueprints” to deploy IPAs and configure multiple devices at once.

Cons of using the Apple Configurator:

  • Requires a Mac and the Apple Configurator tool.
  • Not as simple for individual developers or testers who want a quick install.

Key takeaways and best practices: Installing an IPA on iOS devices

  • Check account eligibility: Ensure you know what type of Apple Developer account you have. An Individual or Organization account has restrictions, such as needing to specify device UDIDs for ad hoc builds. Enterprise accounts allow more freedom, but are only for internal distribution.
  • Proper code signing is essential: No matter which method you choose, your IPA must include the correct provisioning profile and be properly signed with valid certificates.

Want to learn more about our plugins?

Launch a full-feature native app without native development!

Plugin library
Right Arrow
Screenshot of Fitbit iPhone app with Touch ID login prompt.

Summary

Installing an IPA file onto an iOS device can be achieved by dragging and dropping in Xcode, hosting on a web server with a manifest.plist file for over-the-air installation, or using Apple Configurator. The approach you take will depend on your resources, your user audience, and your Apple Developer account type. 

By understanding these methods and their prerequisites, you’ll be well-prepared to distribute and test IPA files outside of the TestFlight/App Store pipeline.

*DISCLAIMER: This content is provided solely for informational purposes. It is not exhaustive and may not be relevant for your requirements. While we have obtained and compiled this information from sources we believe to be reliable, we cannot and do not guarantee its accuracy. This content is not to be considered professional advice and does not form a professional relationship of any kind between you and GoNative.io LLC or its affiliates. Median.co is the industry-leading end-to-end solution for developing, publishing, and maintaining native mobile apps for iOS and Android powered by web content. When considering any technology vendor we recommend that you conduct detailed research and “read the fine print” before using their services.*
Back
to top