How to distribute app with The Apple Developer Enterprise Program


When your iOS application is developed, the next stage in the product advancement lifecycle is App distribution. In any case, if you don’t want it to be publicly accessible on the app store (except for your clients, internal users and employees), distributing it outside of the Store could be a decent option. There are various approaches to distribute iOS application. But the safest and most commonly used approaches are :

  1. The Volume Purchase Program (VPP), allows you to easily distribute applications. It  addresses your company’s needs through a URL and manage your apps in bulk.
  2. The Apple Developer Enterprise Program, allows you to make certificates and provisioning profiles. It distributes your applications by hosting it on a server. 

However the most productive approach to distribute application is In-House Distribution (Apple Developer Enterprise Program) which offers the following advantages:

  • Your application is not required to be reviewed by Apple. 
  • There are no restrictions on the number of devices to deploy your application.

This blog will be describing the Apple Developer Program for Enterprises in detail. We are going to lead you to a process for distributing your App.

With this process, your .ipa file will be hosted on a server, and you’ll be able to give a URL to your preferred clients to access in https. Enterprise Program does not give you access to iTunes Connect to distribute or test (including TestFlight). Apple makes it very clear that In-House applications are for internal use only and the membership cost is $299 per year which is mandatory for creating the certificates. 

To distribute your app yourself, you’ll have to follow these 6 steps :-

  1. Use an “In House” distribution certificate to sign your application and link a push certificate (CSR) to your app ID 
  2. Associate “In house” and ad-hoc provisioning profiles with your app ID
  3. Archive your app and creating a .ipa file
  4. Host your .ipa file on server
  5. Create a manifest(.plist) file that contains metadata and associated with .ipa file.
  6. Create a webpage with a link to manifest

Consideration : The .ipa file must be served by your server via https, else it won’t be feasible to install your application on your clients’ devices. 

It is feasible to distribute your application yourself. It’s somewhat technical, yet not impossible. In case you’re up for the challenge, read on. 

1. Creating a distribution certificate:

  1. Open and browse to the Certificates, Identifiers & Profiles section of the Apple Developer Member Center.
  2. Click the + button to create a new Certificate.
  3. Under the Software heading, select In-House and Ad Hoc
  4. Click Continue, and follow the instructions to create a Certificate Signing Request (CSR) via Keychain Access
  5. Once you have created your CSR as instructed, click Continue, and upload it to the Member Center
  6. Click Generate to create your certificate.

2. Creating a distribution profile For App:

  1. Browse to the Certificates, Identifiers & Profiles section of the Apple Developer Member Center.
  2. Under Certificates, select Identifiers.
  3. Click the + button to create a new App ID
  4. Select App IDs option and click continue
  5. Fill App name, bundle identifier and click continue
  6. After that go to Profiles
  7. After that go to Profile
  8. Click the + button to create a new Profile
  9. Select In House/ Ad Hoc option
  10. Click Continue and then choose App ID (Identifier)
  11. Select certificate that you have created earlier which is available in your keychain
  12. Download the completed profile and double-click on the file.

3. Archive app and create a .ipa file:

  1. In Xcode goto Product > Archive with the same profile
  2. When archive is successfully done then click export
  3. Select enterprise as a distribution method
  4. After this export, Save the .ipa as your desired location to share.

4. Host the app’s binary (.ipa) file on a server

  1. On your hosted server create folder on the name of the app
  2. Now upload the .ipa file in this folder
  3. After uploading copy its shareable URL in clipboard

5. Creating a manifest associated with this binary(.ipa) file

A manifest(.plist) is a file that contains metadata identified with other files it depicts. For instance, in our case, the .plist file will indicate the URL of your application’s .ipa file,  bundle ID, and the name of the application.This file must be manually drafted and can be in any text editor. When saving it, give it the .plist extension. See the below example 

<?xml version="1.0" encoding="UTF-8"?>
<?!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"">
<plist version="1.0">
                   <string>[https link to the IPA file]</string> 
               <string>[Bundle ID]</string> 
               <string>[App Name]</string> 

Pro Tip: Don’t forget to replace the following elements in brackets : 

[Https link to the IPA file]: Your .ipa file’s URL after it’s been hosted on a server in step 4.

[Bundle ID]: Your app’s ID available on this page : Publish > Certificates > iOS 

[App name]: The name of your app 

After that upload it on your server in the same folder that we created in step no 4.

6. Creating a webpage with a link to manifest

After you’ve uploaded the .plist file on a secure server, you can then create a web page where you’ll put a link to download your app, like in the example below : 
<ahref=”itms-services://?action=download-manifest&url=[URL_OF_THE_PLIST_FILE]” id=”text”> Download our application </a>

Pro Tip: Pro Tip: Don’t forget to replace “[URL_OF_THE_PLIST_FILE]” with your .plist file’s URL.

You can also replace the text “Download our application” with another personalized message. 

Concluding Steps

Once a download page is created and distributed to your clients via email or social media, they would then be able to tap the link inside to download your application.

When the users click on this link, a pop-up is shown on their screen to confirm that they want to download the application. Then, the first time it’s launched, another new pop-up will appear. iOS will ask them whether they trust the distributor of the app (which in this case is you).

To confirm this and in order for the app to be usable, they should go to the menu Settings > General > Profiles and Device Management in their iOS device.

Finally, user can now use and explore your beautiful app.

Pro Tip : 

You can also add app display icon in your manifest file.

For this first you have to upload two app icon images of size (57×57 & 512×512) on server in the same folder which was created in step 4.

After this, add the below dictionaries under same array where .ipa dictionary is added in your manifest file which was created in step 5.

    <string>[https link to the appIcon57.png]</string>
    <string>[https link to the appIcon512.png]</string>

 Hope this blog was helpful to you. So, enjoy Distributing your App! For any queries or an app idea that you want to transform into reality, please feel free to contact us.

Never Miss Another Update
Subscribe to receive the latest updates

I have read and accept the Privacy Policy

We'd love to hear from you

I have read and accept the Privacy Policy
× Talk to us on WhatsApp!