[英]How to distribute an iOS app both through the App Store (with the Standard Program) and via Enterprise Distribution (with the Enterprise Program)?
I have an iOS app that anyone should be able to download via the App Store. 我有一个iOS应用程序,任何人都可以通过App Store下载。 Moreover, I need to distribute this exact same app to people that have iPhones owned by my company. 此外,我需要将这个完全相同的应用程序分发给拥有我公司所有iPhone的人。 Links to download the .ipa would be sent to those devices. 下载.ipa的链接将被发送到这些设备。
It's OK to use the iOS Developer Standard Program until you reach the limit of 100 devices. 在您达到100个设备的限制之前,可以使用iOS开发人员标准程序。 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). 据我所知,您可以同时拥有iOS Developer Standard Program和iOS Developer Enterprise Program (允许您在无限数量的设备上安装AdHoc应用程序)。
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. 前者将用于将应用程序提交到App Store,后者将用于签署生产应用程序,这些应用程序可以分发给我公司拥有的无限数量的设备。
Here are the points: 以下是要点:
More generally, how to manage that situation properly? 更一般地说,如何妥善管理这种情况?
Thanks in advance. 提前致谢。
After some research, I finally figured out the two different options. 经过一番研究,我终于想出了两个不同的选择。
1. MDM to push App Store applications 1. MDM推送App Store应用程序
I made my tests with the AirWatch MDM solution. 我使用AirWatch MDM解决方案进行了测试。 You can actually push iOS applications to a fleet of devices with Apple accounts connected on them. 实际上,您可以将iOS应用程序推送到连接有Apple帐户的设备群。 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. 您设备上连接的Apple帐户可以由用户手动配置,也可以为这些设备提供已登录的Apple帐户。
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. 您甚至可以阻止他们修改连接的Apple帐户。 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 2.除标准程序外,还使用企业程序
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. 在这种情况下,您可以通过MDM推送内部应用程序,而不要求您的设备拥有连接的Apple帐户,这在我看来是一个很大的优势。 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. 但是,如果您仍希望通过App Store分发应用程序,则必须维护两个不同的应用程序版本,包括两组签名证书,配置文件,APNS证书等。
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. 我相信您可以拥有iOS Developer Enterprise程序并使用该程序发布到应用程序商店并在内部分发应用程序。 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. 存档将是相同的,但它将使用不同的配置文件进行签名,为App Store和Ad Hoc生成不同的二进制文件。
In the developer portal you should have one profile for the App Store and another for Ad Hoc distribution. 在开发人员门户中,您应该拥有App Store的一个配置文件和Ad Hoc分配的另一个配置文件。
If using only one developer program (Enterprise), you should use the same App ID for both profiles. 如果仅使用一个开发人员程序(Enterprise),则应对两个配置文件使用相同的App ID。
Yes, APNS certificates differentiate between development and production. 是的,APNS证书区分了开发和生产。 Ad Hoc and App Store are both considered production and use the same certificate. Ad Hoc和App Store都被视为生产并使用相同的证书。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.