2

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

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

提前致谢,

巴斯

4

2 回答 2

3

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

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

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

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

于 2017-08-14T15:14:09.190 回答
0

您可以使用 MDM 服务器进行管理。本质上,工作流程看起来像这样:

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

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

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

于 2017-08-14T14:30:21.160 回答