How do I distribute iOS apps without App Store & Google play?

For organisations that want to distribute their app to employees without making the app publicly available on the App Store and Google play there are some options available.

Android

Android apps can be distributed to your users via the web or email.
Google have a great article on this at the link below;
https://developer.android.com/distribute/marketing-
tools/alternative-distribution.html

iOS

The process of distributing iOS apps without using the App Store is a little more complex. Apple do not allow the direct download and installation of iOS app binary files (IPA).
Apple offer two solutions for this:

  • Apple Developer Enterprise Program, This allows you to distribute your app as a URL via your internal site or web server.
  • Volume Purchase Program for enterprises, This allows you to distribute apps via a URL to managed devices within your organisation.

Who is the Apple Developer Enterprise Program for?

The Apple Developer Enterprise Program is intended for organisations that need to distribute apps privately to its employees.
The Apple Developer Enterprise Program allows you to distribute your app internally, outside of the App Store, and costs $299 per year. You’ll need to be part of this program in order to create the required certificates for the app.

Distributing via Ad-hoc (Apple Developer Enterprise Program)

Once 3D Issue have built your app you’ll need to do 3 things. We’ll provide you with the necessary files for the following steps.

  1. Modify the manifest (.plist) file with the correct URL for your IPA.
  2. This url will be the HTTPS url to the IPA file for your app.
  3. The manifest will look something like this:
    <?xml version="1.0" encoding="UTF-8"?>
    
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
    
    "http://www.apple.com/DTDs/PropertyList-1.0.dtd ">
    
    <plist version="1.0">
    
    <dict>
    
    <key>items</key>
    
    <array>
    
    <dict>
    
    <key>assets</key>
    
    <array>
    
    <dict>
    
    <key>kind</key>
    
    <string>software-package</string>
    
    <key>url</key>
    
    <string>[https link to the IPA file]</string>
    
    </dict>
    
    </array>
    
    <key>metadata</key>
    
    <dict>
    
    <key>bundle-identifier</key>
    
    <string>com.dissue.myapp</string>
    
    <key>bundle-version</key>
    
    <string>1.0</string>
    
    <key>kind</key>
    
    <string>software</string>
    
    <key>title</key>
    
    <string>My app</string>
    
    </dict>
    
    </dict>
    
    </array>
    
    </dict>
    
    </plist>
  4. Just replace the highlighted text with the correct URL to your IPA file. Then save your changes.
  5. Upload the files to your server.
  6. Remember, the IPA url you added to the manifest should work after this.
  7.  Your server should have full https support with perfect forward secrecy. Your webmaster or system admin should be able to help with this.
  8. Create the link to the manifest.
  9. This link can be posted on your website or emailed to your employees.
  10. The link will look something like the below, just replace the red text to the https url to your uploaded manifest file.
    itms-services://?action=download-manifest&url=URL_TO_MANIFEST
  11. This link can then best sent via an email or put on a webpage. Please note that redirects to this link or launching this link via Javascript will not work. The link must be clicked as an anchor tag for it to work on an iOS device. For example:
    <a href="itms-services://?action=downloadmanifest&url=URL_TO_MANIFEST">Click here to install our app</a>

    How does this work for our employees?

    The first time users click on this link, a pop-up will be displayed on their screen to confirm that they want to download the application. Then, the first time it’s launched, a new pop-up will appear. iOS will ask them if 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 will have to go to the menu Settings > General > Profiles and Device Management in their iOS device.
    Once done they can go ahead and launch the app.

Updated on March 27, 2020

Was this article helpful?

Related Articles