2017-08-14 98 views
2

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

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

由于提前,

巴斯

回答

3

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

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

如果证书过期,您实际上需要使用新证书重新构建应用程序。使用过期证书签署的旧版本将不会运行,除非。从技术上讲,您可以辞职旧的IPA,但要注意的主要问题是实际的二进制文件无效,直到生成具有正确代码签名的新二进制文件才会生效。幸运的是,这只是每3年,所以它不那么频繁,但我几乎可以向你承诺,如果你不打算这样做的话,你会发现你的手很混乱。同样,与配置文件一样,您可以通过使用MDM将新内容推送到设备来处理此问题。在这种情况下,您将使用MDM实际替换应用程序,而不仅仅是配置文件。多一点工作,但可以完成。

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

0

您可以用MDM服务器来管理这一点。实质上,工作流程如下所示:

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

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

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

相关问题