iOS Appstore应用覆盖企业应用

我们公司拥有Appstore和Enterprise分销许可证。 我们将通过企业许可进行当前beta版的演示。 一些用户将下载企业应用程序来testingbeta版本。 Appstore发布后,我们希望Appstore应用覆盖演示期间下载的企业testing版。 因此,下载testing版应用的用户可以使用发布的版本进行切换。 如果我们为企业和商店应用程序提供相同的包标识符,这是可能的吗? 推送通知证书会发生什么情况?

不幸的是,你不能有一个企业应用程序和一个应用程序商店应用程序共享相同的包标识符(= AppID)。 App Store应用程序需要通过在普通开发人员帐户中创build的configuration文件进行configuration。 企业内部应用程序需要由单独的企业开发人员帐户进行configuration,因为您无法在普通开发人员帐户中创build企业分布configuration文件,反之亦然。 一旦你在一个账户中设置了AppID,你就不能在另一个账户中设置它,因为一个AppID需要是唯一的。

备择scheme:

  1. 不要使用企业帐户。 使用普通开发人员帐户使用AppStore-和AdHoc-Provisioning(用于Betatesting)
  2. 通过Apple的TestFlight尝试Betatesting。 它允许您分发App-Store IPA的预发布版本,而不受AdHoc-Provisioning的限制。 在此设置中,您不需要Enterprise Acc。
  3. 使用单独的AppID。 一个用于企业帐户。 一个用于普通开发人员帐户。 一旦安装,这将导致设备上有两个不同的应用程序。

为了简化您的推送通知设置,您应该运行1或2。

我只需要将企业应用程序传输到App Store。 要求是应用程序商店安装将replace以前安装的企业应用程序,因此捆绑ID需要是相同的。 我通过以下步骤获得成功:

  1. 从企业帐户中移除应用程序ID(developer.apple.com)
  2. 在App Store帐户(developer.apple.com)上重新创build应用程序ID
  3. 在iTunes Connect中创build应用程序(从下拉菜单中select应用程序ID)

其实2.和3.有点模糊。 我第一次检查Xcode已经创build了一个com-company-app ID,但我无法在iTC中创build一个应用程序。 之后,我将其删除,手动重新创build,并尝试使用com.company.*通配符ID。 我也没有能够在iTC中创build一个应用程序。 再次删除那些在Xcode中的设置,并再次创build一个com-company-app ID。 这次在iTC上创build一个应用程序工作。

请注意,这是从企业帐户转移到App Store的转移 。 通过两个通道的并行分配对于相同的捆绑ID是不可能的。

用户也无法使用App Store版本更新企业版应用程序。 安装失败,用户需要删除应用程序,然后重新安装。