Skip to main content

Steps to Create IPA Files using Xcode

On this page, we will outline the steps to create IPA files using Xcode


Upload apps to DeployGate easily with the dg command

Command line tools allow you to complete these steps automatically by running dg deploy or dg add-devices. However, we’ve outlined the manual, step-by-step process below.

Build applications to be distributed to Beta testers​

It’s easy to launch applications under development in a simulator, but how about distributing them to beta testers?

DeployGate helps with this “distribution.”

Currently, you must prepare the “IPA file,” which is required for distribution, yourself. We will now explain how to create an IPA file from scratch.

Archive

To build an iOS application as an IPA file, Xcode has an “Archive” menu under “Product.” While it may be grayed out and unselectable now, it should become selectable.

These are the conditions required to “Archive” installable and launchable IPA files at the distribution site. Save the Apple ID to Xcode.

  • Select “iOS Device” or the connected iOS device from the build target menu.
  • Create a Distribution Certificate.
  • Create an Application ID (App ID).
  • Register the Device to be used for tests.
  • Create a Provisioning Profile.

Follow these steps one by one.

1. Save Apple ID​

First, save your Apple ID to Xcode.

Once saved, Xcode will conduct several registration operations automatically.

From the “Preferences…” menu,

Screenshot of xCode Apple ID from menue

Go to the "Accounts" tab to add "Apple ID".

Screenshot of xCode Apple ID add

Apple ID added.

Screenshot of xCode Apple ID added

2. Select Build Target​

For a distribution build, select either “iOS Device” or the name of the device connected to the Mac as the scheme’s build target. Do not select a simulator.

Screenshot of xCode Build

3.Create Distribution Certificate​

Briefly step away from Xcode and access "Apple Developer" through a browser. Click on "Account" at the top right of the menu to log in.

You can register and create everything needed for distribution here. Click on “Certificates” next.

Screenshot of Distribution Certificate

Certificates prove that you, as the developer of an application to be distributed, are an iOS developer with the necessary credentials from Apple. Without these, your applications cannot be installed or launched on actual devices.

Some Certificates, including the ones created here, can be created in Xcode) (sometimes automatically in the background), but some can only be created in "Certificates, Identifiers & Profiles" For practice, let’s create some manually.

Click on the "+" button to start creating a new Certificate. Screenshot of Distribution Certificate

When prompted for the type, select "Apple Distribution" for distribution to beta testers.

Screenshot of Distribution Certificate

To create a Certificate, Apple will ask you to create a "Certificate Signing Request (CSR)."

Screenshot of Distribution Certificate

This is essentially an application (similar to other applications you may complete). Create a name for your private key, enter your email address, and submit them both to Apple.

Apple will then create a Certificate and private key for you. While Apple will also have the Certificate stored, the private key is for your sole use.

Create a CSR with Mac’s "Keychain Access."

Screenshot of Distribution Certificate

"Keychain Access" looks like this.

Screenshot of Distribution Certificate

Select "Request a Certificate From a Certificate Authority" from the "Certificate Assistant" menu.

Screenshot of Distribution Certificate

Complete the application fields.

Screenshot of Distribution Certificate

In the "User Email Address" field, enter the Apple ID email address registered with the Developer Program.

In the "Common Name" field, enter the name of your private key. Apple will return this to you with the certificate.

Select Saved to disk for "Request is." Leave the "CA Email Address" field blank when selecting the Saved to disk option.

After saving the CSR to disk, return to the browser and submit it to Apple. Click on "Choose File" and select the CSR you created. Click on "Continue."

Screenshot of Distribution Certificate

Once the upload is complete, you can download your "iOS Distribution Certificate". Download and click on it to install it in Keychain Access.

Screenshot of Distribution Certificate

You can view installed Certificates in the "My Certificates" category of Keychain Access.

Screenshot of Distribution Certificate

4. Create Application ID (App ID)​

Please note that this section is about the "Application ID" (or "App ID") and not an "Apple ID."

App ID functions like a URL for your application and is used in various circumstances. For example, it is used as an ID that allows you to link with other services and as an ID to prove that an app is yours. Apple assigns a prefix, so your application will not overlap with other developers’ applications.

First, return to the previous site and select Identifiers from the menu. Click on the “+” button to start creating a new App ID.

Screenshot of Create App ID

On the next screen, select "App IDs" and continue.

Screenshot of Create App ID

If you have a regular app, select "App" and continue.

Screenshot of Create App ID

"Description" is a tag/administrator name/display name, which you can fill in at your discretion. "Prefix" is assigned by Apple. "Bundle ID" is your choice. For our purposes today, select "Explicit" to enter a "Bundle ID" and continue.

Screenshot of Create App ID

Your application’s "Bundle ID" will be in Xcode. It is something you named in the previous step.

Screenshot of Create App ID

Finally, click on "Register" to complete your registration.

Screenshot of Create App ID

Were you able to complete these steps? Apple will remember the "App ID" you created here, so you do not need to download it for future use.

Screenshot of Create App ID

5. Register Devices​

Unlike Android apk files, iOS IPA files built for beta testers will only work on preregistered devices. As such, both the app and developer must be aware of the specific device before running an app.

In house application distributions

Please skip this Devices section if you are a developer registered with the "Enterprise Program" and are distributing an "In House" application for internal use.

If you click on "DevicesDevices" from the menu, you should see several devices already registered. These are usually registered by Xcode’s "Devices" automatically.

Screenshot of Tester Devices Registration

Screenshot of Tester Devices Registration

If you have all the devices that you want to run your app, register each device's "UDID" simply by connecting them. Repeat as necessary until complete.

However, if you plan to have many beta testers, you will need to obtain the "UDID" for a large number of devices.

You can register each "UDID" individually or as a batch with a single file. However, you still need to know the UDIDs in advance. DeployGate helps you by collecting device UDIDs of testers and compiling them into a file.

Screenshot of Tester Devices Registration

One thing to be aware of is that Apple has a device limit of 100 for running “Ad Hoc” apps. Once you register a device, you cannot cancel its registration for one year.

Conversely, you can install and run "In House" apps on any device, as long as you have the IPA file. However, several conditions apply, including the fact that the device owners are members of your organization.

Under some circumstances, the courage to break the rules is commendable. However, we advise you to not break the rules in this case, as doing so will result in you losing your account.

6. PCreate Provisioning Profile​

We can finally work on the Provisioning Profile.

The Provisioning Profile allows you to create an IPA file for distribution and serves as a blueprint for builds, including instructions for the use of certificates, IDs, and devices.

Select "Profiles" from the menu and click on the "+" button to start creating profiles. Select "Ad Hoc" (for those with Enterprise accounts, please be very mindful of your selection between "Ad Hoc" and "In House." This tutorial does not cover the Enterprise Program, but it may be a future topic.)

Screenshot of Provisioning

Select "App ID" next.

Screenshot of Provisioning

Select Certificates and Devices. You should see the certificates and devices that you created. If not, return to the applicable sections to complete the steps.

Screenshot of Provisioning Screenshot of Provisioning

Finally, select a name. We suggest that you choose a unique name for each profile. As you create more profiles, it becomes more difficult to distinguish them.

Screenshot of Provisioning

When you’re finished, download, click, and install.

Screenshot of Provisioning

7. Archive (Revisited)​

First, click on the "Archive" menu

Screenshot of Archive

If you encounter problems from this point forward, first check to see if you (your Apple ID) is set as the app creator.

Screenshot of Archive

The "Team" shown here doesn’t necessarily indicate a group of multiple people. If you are the only developer associated with the Apple ID (always with the individual iOS Development Program), you are the account’s "Agent," "Admin," and "Member" per Apple.

The "Organizer" launches once the archive is successful.

Select the app you just archived and click on "Export..."

Screenshot of Archive

Select "Save for Ad Hoc Deployment" to proceed.

Screenshot of Archive

Select your Apple ID and click on "Choose."

Screenshot of Archive

Click on the "Next" button to create the IPA.

Screenshot of Archive Screenshot of Archive

The "Finder" automatically launches, and you should be able to view the IPA file.

Screenshot of Archive

Upload the IPA file to DeployGate.