How To Deploy Custom iOS Apps For Businesses

Last updated April 10, 2019

Update 2/7/2017: Provided additional information on distributing ad-hoc binaries via MDM.

How Should I Distribute My In-House App?

Consider the diversity of scenarios that apps are built in: free apps, buy-once apps, apps that allow in-app purchases, apps created by businesses for internal use, apps developed by contractors for their clients, and still others. It’s both understandable and fortunate that Apple has created an extensive number of programs to aid in iOS distribution of apps.

This article discusses all methods of currently distributing apps to iOS, whether distributing custom apps within the enterprise or apps for the public app store. Worth noting is that the different methods can be generally characterized by two qualities: how the app binary is delivered to a device and how the licensing is handled.

Find The Right Option For The Job

Below is an at-a-glance diagram of the different programs. Generally, one program (and one program only) will lend itself as the appropriate choice for your distribution needs.

Method Binary Distribution Licensing
Ad Hoc manual, TestFlight, or MDM Developer must register the UDID of each device before it will install.
Enterprise manual or MDM Works on all devices within an organization without registration. Not permitted for use outside of an organization.
App Store Public App Store Works on all devices that have an Apple ID.
B2B VPP MDM Managed within VPP program.

For details on each program, including the pros and cons, read on!

App Store Distribution

The most common way of distributing an app is by using the public app store. This method has a lot going for it. For one, your app becomes available to anyone with an iOS device and an Apple ID. Additionally, it’s easy to monetize your app by setting a price for purchase, utilizing in-app purchasing, or taking advantage of the iAd network.

While it helps ensure a good experience for customers of the app store, Apple’s app approval process is notoriously painful for app developers. The delay between when an app is submitted for initial review and when feedback is available can be long.  We’ve seen up to a month delay before receiving feedback for particularly involved apps. Subsequent responses, while faster, can be additional days or weeks even. This website provides an estimate on the current wait time.

The app approval process makes sure that apps follow proper guidelines for the app store. There may be issues with an app, such as a bug or a security vulnerability that Apple will require you to patch. Your app may also have a behavior that, while not unsafe, Apple doesn’t like for one reason or another. You may have to change your app in ways you would prefer not to in order to get Apple’s blessing.

Distributing through the app store is a great choice if you need the visibility and availability that it provides. If this isn’t important to you, one of the other distribution options will be much less troublesome by avoiding the Apple app review process.

Ad-Hoc Deployment

Apple provides the ad-hoc distribution method for developers that wish to share an app for a private beta or small temporary distribution. With ad-hoc deployment, the developer is responsible for delivering the app binary to each device, such as using email or a URL download. The binary will not work on just any device. A developer will need to add the UDID of each device and register the device in the Apple Member Center before iOS allows the binary to install to the device.

This is a good mechanism to use for intermediate stages of your app, such as a private beta or a temporary deployment situation. To use it, simply export your app from Xcode with the Ad Hoc Deployment option.

Once an ad-hoc binary has been exported, it can also be distributed through MDM as an enterprise binary can be. The difference is that you will still have to manage UDIDs for the binary. Distributing an ad-hoc binary via MDM does not magically make the licensing in the binary more permissive.

Enterprise Deployment

Enterprise distribution is an option that hasn’t always existed. It came out of the need for enterprises to build an app and internally distribute it to staff without dealing with the headache of registering all device UDIDs as you would need to with ad hoc deployment.

Enterprise deployment is when an app is signed and exported from Xcode in such a way that it can be installed on any device without registering the device or publishing the app to the app store. The company is responsible for the distribution of the app within their organization. As with Ad-Hoc distribution, this can be performed via email, a URL, or by using a Mobile Device Management (MDM) service, which allows a company to upload the binary and then send installation requests to MDM-enrolled devices remotely from a web administration console. SimpleMDM is a cloud MDM service that supports this.

Worth noting is that enterprise deployment is strictly for use by organizations creating their own apps for their own consumption. It is a violation of the Apple program to use enterprise-signed IPAs for app distribution to any devices outside of the organization.

VPP Private Store B2B App Deployment

That’s a mouthful! If you aren’t familiar with Apple’s Volume Purchase Program (VPP), this resource will help you understand it.

Enrolling in Apple VPP allows your business to essentially have its own private app store. From within the program, you can make internal app binaries available to any device that has joined the program. You can also share your apps with other businesses using VPP, and vice versa. There is an app approval process before an app can be made available in the VPP program, but it is much more flexible in what it will allow, since the apps won’t be available for general consumption.

Since Apple VPP is essentially a private store, app distribution is handled by the program itself. VPP is almost always used in conjunction with an MDM service, allowing a company to push VPP invitations and apps to devices from an administration console. SimpleMDM supports extensive app distribution and VPP functionality.

Parting Thoughts

Once you’ve chosen a program to use, equally important is how the actual app deployment is planned. We highly recommend reading the article Install Apps Remotely to iPads and iPhones before deciding on a deployment methodology. There are seemingly small details that, when navigated appropriately, will make an otherwise painful experience quite painless and automated.

Comments (2)

Simple MDM help to update the Custom B2B apps?
I did not find much information about this topic in your documentation.

Hi Syed: SimpleMDM does support updating custom B2B apps. Since most custom B2B apps are signed with a developer or enterprise certificate, SimpleMDM automatically handles certificate distribution as well. The only thing that you need to do is upload the new B2B app (.ipa file) and push it to the devices. SimpleMDM will automatically detect that it is an upgrade of an existing, previously installed app. Our documentation provides the steps to do this.

Leave a Reply

Your email address will not be published. Required fields are marked *

See Why Apple Admins Prefer SimpleMDM

Start My FREE 30-Day Trial Now
  • How to Enroll an Apple TV in MDM - 4 Methods

    By on January 24, 2019
    Read more
  • How To Sign macOS PKGs for Deployment with MDM

    By on October 4, 2018
    Read more
  • How To Use Custom Configuration Profiles With Custom Attributes

    By on September 17, 2018
    Read more

See Why Apple Admins Prefer SimpleMDM No strings. No Spam.

Start My 30-Day Free Trial Now