以单应用模式静默更新 iOS 个企业应用
Silently Updating iOS Enterprise Apps in Single App Mode
我需要在没有任何用户交互的情况下在大量 iPad 上更新我的托管应用程序 运行。这些设备都将托管应用程序锁定在单应用程序模式下。据我了解,如果存在以下任一情况,应用程序将无法更新,这是一个 iOS 限制:
- 要更新的应用程序在前台。
- 任何应用程序都被锁定在单应用程序模式下。
对于我们的用例,这两个条件都存在。我还了解到当前的解决方法是执行以下操作:
- 禁用单应用模式。
- 为不同的应用程序(例如 Safari)启用单一应用程序模式以将该应用程序置于前台。
- 禁用单应用模式。
- 更新应用。
- 更新完成后,为您的应用重新启用单一应用模式,以将其带回前台。
虽然这种方法有效,但它有很多缺点:
- 这是高度手动的,我们还没有找到自动化的方法。当设备数量变大时,这尤其是一个问题。 Internet 连接可能不稳定,并且没有可靠的方法来确保每个步骤都已针对所有设备执行。
- 很容易失败。特别是在上面的第 4 步和第 5 步之间。似乎几乎无法保证 when/if 更新成功以明确知道何时重新启用单一应用程序模式。
- 更新时离线的设备失败。如果执行更新时设备没有互联网连接,则无法保证在设备下次重新联机时以正确的顺序完全执行这些步骤。
我正在寻找一种可扩展的解决方案,以在无需用户交互的情况下以自动方式在数千台设备上可靠地更新我的托管单一应用模式应用程序 运行。我现在正在将 Meraki 用于 MDM,物有所值。
使用 iOS 11.2,您现在可以将静默更新推送到使用它的设备 运行 SingleApp 模式。
Apple 没有向 public 提及这一点,但包含在测试版说明中。
今天打电话给企业支持,他们找不到任何官方文档提到ios11。2.x支持在单应用模式下更新应用:(
现在 iOS 11.3 beta 可以再次运行,但更新后,应用程序不会自动锁定在单应用程序模式下,我们必须重新启动设备。
希望在即将推出的测试版中,这个问题会得到解决。
iOS 13.1 beta 1 似乎解决了我在这方面遇到的大部分问题。
我在 iOS 11-12.* 中看到过一些问题,其中更新有时有效,但有时即使没有设置密码或引导访问代码也显示密码键盘,或者表现异常。
在 13.1 beta 1 中,您可以推送应用程序更新,设备上不会发生任何事情,但如果您之后发送重启命令,设备将重启,更新应用程序并继续单应用程序模式。
我已经用 'Single App Mode' (SAM) 和 'Autonomous Single App Mode' (ASAM) 进行了测试,到目前为止它对我来说每次都有效。
这适用于我的用例,因为您可以随时推送更新并在设备未使用时安排在合适的时间重启。
编辑: 13.1 beta 2/3/4 更改了这一点,现在当您从 MDM 推送更新时,应用程序将关闭,更新并重新打开并继续以单一应用程序模式进行。我检查了 SAM 和 ASAM 现在都无需重新启动即可更新。
我需要在没有任何用户交互的情况下在大量 iPad 上更新我的托管应用程序 运行。这些设备都将托管应用程序锁定在单应用程序模式下。据我了解,如果存在以下任一情况,应用程序将无法更新,这是一个 iOS 限制:
- 要更新的应用程序在前台。
- 任何应用程序都被锁定在单应用程序模式下。
对于我们的用例,这两个条件都存在。我还了解到当前的解决方法是执行以下操作:
- 禁用单应用模式。
- 为不同的应用程序(例如 Safari)启用单一应用程序模式以将该应用程序置于前台。
- 禁用单应用模式。
- 更新应用。
- 更新完成后,为您的应用重新启用单一应用模式,以将其带回前台。
虽然这种方法有效,但它有很多缺点:
- 这是高度手动的,我们还没有找到自动化的方法。当设备数量变大时,这尤其是一个问题。 Internet 连接可能不稳定,并且没有可靠的方法来确保每个步骤都已针对所有设备执行。
- 很容易失败。特别是在上面的第 4 步和第 5 步之间。似乎几乎无法保证 when/if 更新成功以明确知道何时重新启用单一应用程序模式。
- 更新时离线的设备失败。如果执行更新时设备没有互联网连接,则无法保证在设备下次重新联机时以正确的顺序完全执行这些步骤。
我正在寻找一种可扩展的解决方案,以在无需用户交互的情况下以自动方式在数千台设备上可靠地更新我的托管单一应用模式应用程序 运行。我现在正在将 Meraki 用于 MDM,物有所值。
使用 iOS 11.2,您现在可以将静默更新推送到使用它的设备 运行 SingleApp 模式。
Apple 没有向 public 提及这一点,但包含在测试版说明中。
今天打电话给企业支持,他们找不到任何官方文档提到ios11。2.x支持在单应用模式下更新应用:(
现在 iOS 11.3 beta 可以再次运行,但更新后,应用程序不会自动锁定在单应用程序模式下,我们必须重新启动设备。
希望在即将推出的测试版中,这个问题会得到解决。
iOS 13.1 beta 1 似乎解决了我在这方面遇到的大部分问题。
我在 iOS 11-12.* 中看到过一些问题,其中更新有时有效,但有时即使没有设置密码或引导访问代码也显示密码键盘,或者表现异常。
在 13.1 beta 1 中,您可以推送应用程序更新,设备上不会发生任何事情,但如果您之后发送重启命令,设备将重启,更新应用程序并继续单应用程序模式。
我已经用 'Single App Mode' (SAM) 和 'Autonomous Single App Mode' (ASAM) 进行了测试,到目前为止它对我来说每次都有效。
这适用于我的用例,因为您可以随时推送更新并在设备未使用时安排在合适的时间重启。
编辑: 13.1 beta 2/3/4 更改了这一点,现在当您从 MDM 推送更新时,应用程序将关闭,更新并重新打开并继续以单一应用程序模式进行。我检查了 SAM 和 ASAM 现在都无需重新启动即可更新。