使用企业 iOS 应用程序超过 12 个月而未使用新的配置文件重新安装
Using enterprise iOS apps for more than 12 months without reinstalling with new Provisioning Profile
我们正在构建 iOS 应用程序,以便使用 Apple 的企业开发者帐户在我们自己的内部 App Store 中分发。对于构建,我们需要生成配置文件,该配置文件自创建之日起 12 个月后过期。过期后,该应用程序无法在设备上运行(由于配置文件过期而立即崩溃),并且每台设备都需要重新安装新版本的应用程序。
我们如何才能为我们的用户提供一个用户友好的工作流程,让他们不必在 12 个月后处理崩溃的应用程序?
提前致谢,
基础
您可以使用 MDM 服务器来管理它。本质上,工作流程看起来像这样:
用户安装 MDM 配置文件并接受允许 MDM 服务器安装应用程序的提示。
MDM 服务器能够根据 MDM 配置文件中设置的权限管理设备。然后可以任意安装和删除由 MDM 服务器管理的应用程序。
快速 google 搜索 iOS MDM Server
应该会让您朝着正确的方向前进。各种付费选项的定价约为 15 美元/设备/年,这是我上次调查这个问题时(大约一年前)。但是也有一两个合理的开源 MDM 服务器可用。
供应配置文件的过期是企业分布式应用程序的一个麻烦。这需要您的内部开发团队、移动支持团队进行持续维护。
首先,我想指出,您没有提到证书。因为它们现在每 3 年才会过期(截至撰写本文时 - 最初它们每年都会过期),所以开发人员经常忘记它们。然而,它们的过期实际上比配置文件更麻烦。当配置文件过期时,您只需在设备上获取另一个有效的配置文件。这可以通过多种方式完成。您可以使用移动设备管理 (MDM) 解决方案来推送新配置文件。或者,如果另一个具有有效配置文件(使用通配符 ID)的应用最近被推送到设备,这也可以获得设备上的有效配置文件。
如果证书过期,您实际上需要使用新证书重新构建应用程序。使用过期证书签名的旧版本不会 运行 除非。从技术上讲,您可以退出旧的 IPA,但需要注意的主要一点是,实际的二进制文件是无效的,并且在生成具有正确代码签名的新二进制文件之前不会工作。幸运的是,这只是每 3 年一次,因此频率较低,但我几乎可以向你保证,如果你不为此做好计划,那么当它发生时,你的手上会一团糟。同样,与供应配置文件一样,您可以通过使用 MDM 将新内容推送到设备来处理此问题。在这种情况下,您将使用 MDM 实际替换 while 应用程序,而不仅仅是配置文件。多一点工作,但它可以完成。
当然,您可能出于某些原因不想使用 MDM。成本可能是一个问题。员工可能不希望公司管理他们的个人设备(如果这些应用程序在个人设备上运行)。能够管理 MDM 基础架构/工作负载。如果 MDM 对您的组织来说不是一个很好的解决方案,我会推荐另一种方法,该方法从用户体验来看并不理想,但可以解决您的问题。您可以构建自己的应用程序以进行自我更新。换句话说,在启动时,您的应用会检查服务器以查看是否有新版本可用。如果是这样,它会提示用户更新。这不需要管理设备,您可以轻松构建一个共享框架,使应用程序开发人员可以轻松完成这项工作。这种方法的一个缺点是,如果用户在您 post 新版本(使用新配置文件/证书)和配置文件或证书过期之间没有启动应用程序,则应用程序将不会启动,因此自动更新功能无法 运行 告诉用户获取新版本。它只会向用户显示应用程序正在崩溃。这是这种方法的一个用户体验问题。但如果你能做到这一点,它就可以提供 MDM 路线的替代方案。
我们正在构建 iOS 应用程序,以便使用 Apple 的企业开发者帐户在我们自己的内部 App Store 中分发。对于构建,我们需要生成配置文件,该配置文件自创建之日起 12 个月后过期。过期后,该应用程序无法在设备上运行(由于配置文件过期而立即崩溃),并且每台设备都需要重新安装新版本的应用程序。
我们如何才能为我们的用户提供一个用户友好的工作流程,让他们不必在 12 个月后处理崩溃的应用程序?
提前致谢,
基础
您可以使用 MDM 服务器来管理它。本质上,工作流程看起来像这样:
用户安装 MDM 配置文件并接受允许 MDM 服务器安装应用程序的提示。
MDM 服务器能够根据 MDM 配置文件中设置的权限管理设备。然后可以任意安装和删除由 MDM 服务器管理的应用程序。
快速 google 搜索 iOS MDM Server
应该会让您朝着正确的方向前进。各种付费选项的定价约为 15 美元/设备/年,这是我上次调查这个问题时(大约一年前)。但是也有一两个合理的开源 MDM 服务器可用。
供应配置文件的过期是企业分布式应用程序的一个麻烦。这需要您的内部开发团队、移动支持团队进行持续维护。
首先,我想指出,您没有提到证书。因为它们现在每 3 年才会过期(截至撰写本文时 - 最初它们每年都会过期),所以开发人员经常忘记它们。然而,它们的过期实际上比配置文件更麻烦。当配置文件过期时,您只需在设备上获取另一个有效的配置文件。这可以通过多种方式完成。您可以使用移动设备管理 (MDM) 解决方案来推送新配置文件。或者,如果另一个具有有效配置文件(使用通配符 ID)的应用最近被推送到设备,这也可以获得设备上的有效配置文件。
如果证书过期,您实际上需要使用新证书重新构建应用程序。使用过期证书签名的旧版本不会 运行 除非。从技术上讲,您可以退出旧的 IPA,但需要注意的主要一点是,实际的二进制文件是无效的,并且在生成具有正确代码签名的新二进制文件之前不会工作。幸运的是,这只是每 3 年一次,因此频率较低,但我几乎可以向你保证,如果你不为此做好计划,那么当它发生时,你的手上会一团糟。同样,与供应配置文件一样,您可以通过使用 MDM 将新内容推送到设备来处理此问题。在这种情况下,您将使用 MDM 实际替换 while 应用程序,而不仅仅是配置文件。多一点工作,但它可以完成。
当然,您可能出于某些原因不想使用 MDM。成本可能是一个问题。员工可能不希望公司管理他们的个人设备(如果这些应用程序在个人设备上运行)。能够管理 MDM 基础架构/工作负载。如果 MDM 对您的组织来说不是一个很好的解决方案,我会推荐另一种方法,该方法从用户体验来看并不理想,但可以解决您的问题。您可以构建自己的应用程序以进行自我更新。换句话说,在启动时,您的应用会检查服务器以查看是否有新版本可用。如果是这样,它会提示用户更新。这不需要管理设备,您可以轻松构建一个共享框架,使应用程序开发人员可以轻松完成这项工作。这种方法的一个缺点是,如果用户在您 post 新版本(使用新配置文件/证书)和配置文件或证书过期之间没有启动应用程序,则应用程序将不会启动,因此自动更新功能无法 运行 告诉用户获取新版本。它只会向用户显示应用程序正在崩溃。这是这种方法的一个用户体验问题。但如果你能做到这一点,它就可以提供 MDM 路线的替代方案。