使用企业 iOS 应用超过 12 个月,无需使用新的预配配置文件重新安装



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

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

提前感谢,

巴斯

预配配置文件的过期对于企业分布式应用程序来说是一个麻烦。 这需要您的内部开发团队、移动支持团队的持续维护。

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

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

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

您可以使用 MDM 服务器进行管理。本质上,工作流如下所示:

用户安装 MDM 配置文件并接受提示以允许 MDM 服务器安装应用程序。

MDM 服务器能够根据 MDM 描述文件中设置的权限管理设备。然后,可以任意安装和删除由 MDM 服务器管理的应用程序。

快速谷歌搜索iOS MDM Server应该会让你朝着正确的方向前进。各种付费选项的价格约为 15 美元/设备/年,上次我对此进行了研究(大约一年前(。但是也有一两个合理的开源MDM服务器可用。

最新更新