Recently one of our clients came up with the requirement of delivering their iOS apps only to a specific organization without making it public and allowing the end-users to install the apps on their private phones. We’ve started researching on how to make the apps available.
The Enterprise Program seemed to be the best solution. Taking a look at Enterprise Program descriptions, Apple specifically says:
Distribute proprietary, in-house iOS, watchOS, and tvOS apps within your organization. Securely host and deploy apps to your employees’ devices.
In this case, the client’s organization must distribute to a third organization, and this is not allowed by the Apple Enterprise Program guidelines/rules.
We contacted Apple to get some clarifications on how to distribute the app and their answer was: Custom Apps. They also advised that the app must be installed only on devices belonging to users from the Business Account organization.
The Custom Apps home page is pretty explicit on what’s the purpose of this service:
Businesses that you identify in App Store Connect will see your app and be able to purchase it in the Apps and Books section of Apple Business Manager. You can offer custom apps for free or at any price tier you choose. Identify the businesses who can download your app and set a release date in App Store Connect. They will be able to find your app on Apple Business Manager once it’s published.
We decided to test this way of delivering iOS apps, but all the information regarding this is a bit confusing and disperse along with the internet. After a successful delivery, we decided to explain all the processes in the following tutorial.
In order to distribute the app to the end-users organization, the organization itself needs an account on Apple Business Manager. To enroll an organization Apple requires the D-U-N-S number, after the form is submitted Apple will approve the application. Some useful links with help can be found here and here.
The DEP Customer ID from the end-users organization must be saved for the next steps, the number is behind the red square on the next image:
Also, enable Custom Apps by pressing the enable button under the DEP ID number.
You need the app ready to App Store Connect. Create the certificates needed and the app entry. Then upload it. Here’s some help on how to do that.
Important: Do not submit your app to review yet!
Steps to set private distribution:
On App Store Connect select the app
Go to Pricing and Availability section
Choose the Available privately as a custom app for business under Distribution for Business and Education
Select DEP ID type, add the ID saved on 1. and the Organization Name. This step gives the app access to a specified organization
Set the desired price as it is mandatory
Save the changes
Yes, the app needs to be reviewed before it can be available to the end user’s organization. Usually, from our experience, these reviews are quicker than the public ones. 🙏
Access business.apple.com and go to Custom Apps Content, then the shared app must appear. Note that once it is published from the App Store Connect the app usually takes some time to be available at Custom Apps.
Then, you can either purchase Managed License Types or Redemption Codes.
Managed Licenses can be used in an MDM platform to distribute the app to the organization devices.
Redemption Codes are codes that can be redeemed by the end-users within the App Store app itself.
To solve our initial problem we choose the Redemption Codes option, here’s how it can be done:
Go to Custom Apps section and select the desired app
Then, buy a license of type Redemption Codes. Note that each code can only be used once, you will need one for each user of the app.
After you purchase the Redemption Code press the Download button to download a .xls with the codes and direct links to install the app from the App Store.
You can either open the links on an iPhone or redeem the codes from the App Store app itself, using the option Redeem Gift Card or Code. Then the app is installed and it will be always available on Purchased items.
This definitely serves as a solution to our initial problem, but we think there are a few things that can be improved on Custom Apps:
The usability of the website. It can become frustrating to interact after a little while;
Account sessions handling. When a user is logged in on App Store Connect and Business at the same time the session is lost;
Create a view for the list of codes instead of using only the .xls to show the codes/links.
In case you don’t know, Coletiv is a software development studio from Porto specialized in Elixir, iOS, and Android app development. But we do all kinds of stuff. We take care of UX/UI design, web development, and even security for you.