ios - 使用企业 iOS 应用程序超过 12 个月而无需使用新的配置文件重新安装

标签 ios xcode provisioning-profile enterprise ios-enterprise

我们正在构建 iOS 应用程序,以便使用 Apple 的企业开发者帐户在我们自己的内部 App Store 中分发。对于构建,我们需要生成配置文件,该配置文件自创建之日起 12 个月后过期。过期后,该应用程序无法在设备上运行(由于配置文件过期而立即崩溃),并且每台设备都需要重新安装该应用程序的新版本。

我们如何才能为用户提供一个用户友好的工作流程,让他们不必在 12 个月后处理崩溃的应用程序?

提前致谢

基础

最佳答案

供应配置文件的到期是企业分布式应用程序的一个麻烦。这需要您的内部开发团队、移动支持团队进行持续维护。

首先,我想指出您没有提到证书。因为它们现在每 3 年才会过期(截至撰写本文时 - 最初它们每年都会过期),所以开发人员经常忘记它们。然而,它们的过期实际上比配置文件更麻烦。当配置文件过期时,您只需在设备上获取另一个有效的配置文件。这可以通过多种方式完成。您可以使用移动设备管理 (MDM) 解决方案来推送新配置文件。或者,如果另一个具有有效配置文件(使用通配符 ID)的应用最近被推送到设备,这也可以获得设备上的有效配置文件。

如果证书过期,您实际上需要使用新证书重新构建应用程序。除非使用过期证书签名的旧版本不会运行。从技术上讲,您可以退出旧的 IPA,但需要注意的主要一点是,实际的二进制文件是无效的,并且在生成具有正确代码签名的新二进制文件之前不会工作。幸运的是,这只是每 3 年一次,因此频率较低,但我几乎可以向你保证,如果你不为此做好计划,那么当它发生时,你的手上会一团糟。同样,与供应配置文件一样,您可以通过使用 MDM 将新内容推送到设备来处理此问题。在这种情况下,您将使用 MDM 实际替换 while 应用程序,而不仅仅是配置文件。多一点工作,但它可以完成。

当然,您可能出于某些原因不想使用 MDM。成本可能是一个问题。员工可能不希望公司管理他们的个人设备(如果这些应用程序在个人设备上运行)。能够管理 MDM 基础架构/工作负载。如果 MDM 对您的组织来说不是一个很好的解决方案,我会推荐另一种方法,该方法从用户体验来看并不理想,但可以解决您的问题。您可以构建自己的应用程序以进行 self 更新。换句话说,在启动时,您的应用会检查服务器以查看是否有新版本可用。如果是这样,它会提示用户更新。这不需要管理设备,您可以轻松构建一个共享框架,使应用程序开发人员可以轻松完成这项工作。这种方法的一个缺点是,如果用户在您发布新版本(使用新配置文件/证书)和配置文件或证书过期之间没有启动应用程序,则应用程序将不会启动,因此自动更新功能无法运行以告诉用户获取新版本。它只会向用户显示应用程序正在崩溃。这是这种方法的一个用户体验问题。但如果你能做到这一点,它就可以提供 MDM 路线的替代方案。

关于ios - 使用企业 iOS 应用程序超过 12 个月而无需使用新的配置文件重新安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45676696/

相关文章:

ios - 如何将文件保存到 iOS 的 Library/NoCloud 文件夹?

ios - 来自另一个 View Controller 时的 xcode 问题

iphone - 电影播放器​​完成通知未在iOS SDK中启动

ios - iTunesConnect 要求我提交 "year-end self qualification report"

iOS 应用提交 : invalid signature

ios - 点击后隐藏 View

ios - 在 Xcode 中制作 Storyboard 的 PDF 的方法?

ios - 重命名 IPA 应用名称

Xcode5 "No matching provisioning profiles found issue"(但擅长 xcode4)

ios - 当 iOS 配置文件过期时会发生什么