How to distribute an iOS app both through the App Store (with the Standard Program) and via Enterprise Distribution (with the Enterprise Program)?

StackOverflow https://stackoverflow.com/questions/23066971

Question

I have an iOS app that anyone should be able to download via the App Store. Moreover, I need to distribute this exact same app to people that have iPhones owned by my company. Links to download the .ipa would be sent to those devices.

It's OK to use the iOS Developer Standard Program until you reach the limit of 100 devices. But what if you need to distribute this app to hundreds devices? As far as I understood, you can have both the iOS Developer Standard Program and the iOS Developer Enterprise Program (which allows you to install AdHoc apps on an unlimited number of devices).

The former would be used to submit the app to the App Store and the latter would be used to sign production apps that can be distributed to an unlimited number of devices owned by my company.

Here are the points:

  1. Can I have a single App ID or do I need to distinguish these two apps?
  2. I need to send push notifications to devices using this app, can I use the same APNS certificate for sending notifications to apps downloaded via the App Store and to Ad Hoc apps? I guess no, but is there a way to properly handle that situation?

More generally, how to manage that situation properly?

Thanks in advance.

Was it helpful?

Solution

After some research, I finally figured out the two different options.

1. MDM to push App Store applications

I made my tests with the AirWatch MDM solution. You can actually push iOS applications to a fleet of devices with Apple accounts connected on them. The Apple accounts connected on your devices can either be manually configured by the users, or you can provide these devices with Apple accounts already signed in.

In the latter case, you need to create the accounts on behalf of your users. You can even prevent them from modifying the connected Apple account. However, I advise against using the same shared account across multiple devices as it's against guidelines. If the account is blocked because of incorrect usage, application updates will be impossible on all devices using this account.

2. Using an Enterprise Program in addition to the Standard Program

In such a case, you can push your in-house applications through MDM not requiring your devices to have a connected Apple account, which is a strong advantage in my opinion. However, if you still want your application to be distributed through the App Store, you will have to maintain two different builds of your applications, with two sets of signing certificates, provisioning profiles, APNS certificates, etc.

OTHER TIPS

I believe you can just have the iOS Developer Enterprise program and use that one to publish to the app store and to distribute the app internally. The archive will be the same, but it will be signed with different provisioning profiles, producing different binaries for the App Store and for Ad Hoc.

In the developer portal you should have one profile for the App Store and another for Ad Hoc distribution.

  1. If using only one developer program (Enterprise), you should use the same App ID for both profiles.

  2. Yes, APNS certificates differentiate between development and production. Ad Hoc and App Store are both considered production and use the same certificate.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top