How To Deploy Custom iOS Apps For Businesses

Last updated May 2, 2022

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 Hosting 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 portion of the Apple Business Manager 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.

Also worth noting is that Apple’s criteria for company eligibility has become more restrictive. Companies are expected to have a headcount of at least 100 employees to be eligible for Enterprise app deployment. Ineligible companies are suggested to utilize the VPP B2B option, below.

Private VPP B2B Store App Deployment with Apple Business Manager

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

Enrolling in Apple Business Manager 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 Apple Business Manager, and vice versa. There is an app approval process before an app can be made available in Apple Business Manager, but it is much more flexible in what it will allow since the apps won’t be available for general consumption.

Since Apple Business Manager essentially allows for a private store, app distribution is handled by the program itself. Apple Business Manager and 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 (18)

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.

Hi Waleed- Thanks for bringing this up. The B2B VPP program, as mentioned in the article, is a component of Apple Business Manager. Historically, Apple VPP was its own program, but then was merged into Apple Business Manager along with the Device Enrollment Program (DEP), now called Automated Enrollment. We’ve updated the article to be more clear for future readers.

VPP and DEP should no longer be components of ABM: “The Device Enrollment Program (DEP) and the Volume Purchase Program (VPP) are now completely integrated into Apple Business Manager, so organizations can bring together everything needed to deploy Apple devices. These programs will no longer be available starting December 1, 2019.” ( dated “October 2019”).

Hi Henrik- You are correct. DEP and VPP as standalone programs no longer exist. Instead, they are now components of Apple Business Manager. DEP has been renamed to “Automated Enrollments” and VPP has been renamed “Apps & Books”. As DEP and VPP are still widely used terms for these functionalities, we are keeping them in the article for the time being.


From my research, it seems like App Store doesn’t allow the developer to distribute the application that not being used by the public and Enterprise Deployment

It’s my first time building in-house application for a client, is my scenario here best to refer to the “Private VPP B2B Store App Deployment with Apple Business Manager” ?

Thank you

Hi Shyan- If you are developing an in-house app for your client, we recommend utilizing the B2B VPP method. The Enterprise method is also a viable option, though Apple has added a restriction in the past year that the company must have a minimum of 100 employees in order to be eligible for an Enterprise Developer account, which is required for the Enterprise method of distribution.

Problem is, VPP will be phased out come december 1st.
ABM requires all the devices to be managed by your company (no BYOD and no publishing to customers’ employees).
In a few months there won’t be an apple sanctioned way of distributing a b2b app privately to your customers.

Hi Max- You are correct that the original stand-alone admin portal for VPP will be phased out December 1, 2020. However, the “Apps & Books” functionality of Apple Business Manager (ABM), which supersedes VPP and that most stand-alone VPP accounts have already been migrated to, will remain. The “VPP” term is often used colloquially to reference the “Apps & Books” function of ABM, just as “DEP” is often used to reference the “Automated Deployment” function of ABM (which, in fact, is not technically named DEP any longer).

You are also correct that all devices that use automated enrollment must be owned and supervised by the company.

There is another option, however. Devices can be enrolled by utilizing MDM User Enrollment. SimpleMDM can then assign Private B2B apps to these devices using the Managed Apple IDs that they enrolled with. More information is available in our article about User Enrollment.

Hi All,
Our IOS app was twice rejected as apple complained that our app is not for audience worldwide.
Here is a bit of background for our app.
The app we are developing is for government officials to handle/ managed community concerns so they can work anywhere to transfer community concerns to specific government bodies to solve.
However, user for the app is limited (juts for officials with pre-created account via government portal).
Apple denied such logic and require us to change such design or not allow the IOS to be published on Apple store.
Please advice me on how to move on with this.

Hi Dang- We can’t provide official guidance on how to meet the App Store publishing guidelines. However, you could consider distributing your app through the B2B app store. The approval process is said to be more relaxed, however you would need to enable the app for sale on a per-company/organization basis.


I have a related question. We have an app that is built only for Enterprises which Apple and Google do not want to release it as it is about Contact Tracing and Social Distancing. We want to distribute the IOS app to our customers who may or may not have more than 100 employees and may not have an Enterprise App Store. What mechanism would you recommend to distribute IOS Apps to our customers please. I am willing to leverage any consulting services who can provide us these services.


Hi V- You might consider publishing the app to the private B2B app store. Apple’s review process is less rigid as the app will only be available on a designated company basis.

Alternatively, you may be able to use the ad-hoc method (within your customer’s own Apple Developer account), though you’d need to register each device within their developer portal.

Having said this, we recommend contacting Apple directly to clarify the proper usage of their programs.

We have an enterprise application currently on the iTunes store. This application requires a valid Server URL and user credentials to log in, which we provide only to the registered users on the platform.
Now we have a requirement to pre-configure the Server URL as the application starts running on the user’s ios device. We wanted to configure this using the MDM tool but not sure how it can be done?
Requesting you to provide some inputs for the same, using your portal.
Thanks in advance.

Hi there, looking for some deployment advice here, having same/similar problems deploying apps as mentioned above. We provide an app to our customers, as part of a suit of non-app software we provide. Basically, the same as a bank provides apps to their customers ((users get access to their account and view their own transactions), i.e. the bank does not own, and cannot manage their customer devices, but, they want the customers to have an app. Some of our customers take the app and register it themselves on the app store, and some want it deployed through our account (with their own branding). We want the availability of the app to be as simple as possible, and so the app store is the best and easist. Apple have advised us to use Enterprise deployment, but this is impossible, since the client does not own or manage the customer devices. They have then advised business manager, with token based distribution, but again that seemed to involve the client managing customer devices which is impossible. Are you able to tell me how to distribute apps easily, without breaking Apples rules, and without needing to manage devices and without making it difficult for users. Thanks in advance!

Hi Jeremy- Given that the app will be delivered to non-corporate devices, your best option is the public Apple App Store. The Enterprise option does require (contractually) that the app is delivered only to devices or users within the organization. The private VPP app store (through ABM) also requires that the devices be a part of the organization for license assignment. These devices do not necessarily need to be owned by the organization, but these licensing models do not allow a business to deliver apps to customers.

Where there are three parties (the software developer, the business, and the customer) we sometimes see the business white-label and publish the app by the developer to the public app store. Alternatively, the developer may publish it themselves.

This is an understandably difficult use case to apply to the existing licensing models. If you need further assistance, we do recommend working with Apple further to both confirm our statement above and to seek further options.

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

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

Start My 30-Day Free Trial Now