iOS Appstore 应用覆盖企业应用
Posted
技术标签:
【中文标题】iOS Appstore 应用覆盖企业应用【英文标题】:iOS Appstore app override enterprise app 【发布时间】:2014-12-11 14:06:59 【问题描述】:我们公司拥有 Appstore 和 Enterprise 发行许可证。我们将通过企业许可证使用当前的 beta 版本进行演示。一些用户将下载企业应用程序以测试 beta 版本。应用商店发布后,我们希望应用商店应用覆盖演示期间下载的企业测试版。这样,下载了 beta 应用程序的人可以切换到已发布的版本。如果我们为企业和商店应用程序提供相同的捆绑标识符,这可能吗?推送通知证书会怎样?
【问题讨论】:
您不得将企业签名的应用程序提供给组织外部的人员。如果你这样做,苹果可能会吊销证书。 【参考方案1】:很遗憾,您不能让 Enterprise App 和 App Store App 共享同一个 Bundle Identifier (= AppID)。 App Store 应用程序需要通过在普通开发者帐户中创建的配置文件进行配置。企业内部应用程序需要由单独的企业开发人员帐户进行配置,因为您无法在普通开发人员帐户中创建企业分发配置文件,反之亦然。一旦您在一个帐户中设置了 AppID,就无法在另一个帐户中设置它,因为 AppID 需要是唯一的。
替代方案:
-
不要使用企业帐户。通过普通开发者帐户使用 AppStore 和 AdHoc-Provisioning(用于 Beta 测试)
通过 Apple 的 TestFlight 尝试 Beta 测试。它允许您分发 App-Store IPA 的预发布版本,而不受 AdHoc-Provisioning 的限制。在此设置中,您不需要 Enterprise Acc。
使用单独的 AppID。一个用于企业帐户。一个用于普通开发者帐户。一旦安装,这将导致设备上出现 2 个不同的应用。
为了简化您的推送通知设置,您应该使用 1. 或 2.
【讨论】:
您说 2 个完全相同的应用程序 - 一个在 Enterprise 中,另一个在应用程序中 - 不能具有相同的 bundleID,对吧?你有什么正式的文件可以支持你吗?【参考方案2】:我只需要将 Enterprise 应用程序转移到 App Store。要求是 App Store 安装将替换以前安装的 Enterprise 应用程序,因此 Bundle ID 必须相同。我成功完成了以下步骤:
-
从企业帐户中删除 App ID (developer.apple.com)
在 App Store 帐户 (developer.apple.com) 上重新创建 App ID
在 iTunes Connect 中创建应用(从下拉列表中选择应用 ID)
实际上 2. 和 3. 有点模糊。我第一次检查 Xcode 已经创建了一个com-company-app
ID,但是我无法在 iTC 中创建一个应用程序。之后我删除了它,手动重新创建它并尝试了com.company.*
通配符 ID。两者我都无法在 iTC 中创建应用程序。再次删除这些,摆弄 Xcode 中的设置,它再次创建了一个com-company-app
ID。这次在 iTC 中创建应用程序成功了。
请注意,这是从企业帐户到 App Store 的转移。通过两个渠道并行分发不可能使用相同的 Bundle ID。
用户也无法使用 App Store 版本更新 Enterprise 应用程序。安装失败,用户需要先删除应用再重新安装。
【讨论】:
以上是关于iOS Appstore 应用覆盖企业应用的主要内容,如果未能解决你的问题,请参考以下文章