Мне нужно обновить управляемое приложение, работающее на большом количестве iPad, без какого-либо взаимодействия с пользователем. У всех этих устройств управляемое приложение заблокировано в режиме Single App. Насколько я понимаю, это ограничение iOS, что приложение не может быть обновлено, если присутствует одно из следующих условий:Молчаливое обновление приложений для iOS в одном приложении
- Приложение для обновления находится на переднем плане.
- Любое приложение заблокировано в режиме одного приложения.
В нашем случае использования оба этих условия присутствуют. Я также понимаю, что в настоящее время необходимо сделать следующее:
- Отключить режим одного приложения.
- Включите Single App Mode для другого приложения (например, Safari), чтобы перенести это приложение на передний план.
- Отключить режим одного приложения.
- Обновить приложение.
- Включите Single App Mode для вашего приложения, когда обновление закончится, чтобы вернуть его на передний план.
Хотя этот метод работает, он имеет много недостатков:
- Это очень ручной, мы не нашли способ автоматизировать. Это особенно проблема, так как количество устройств становится большим. Интернет-соединения могут быть пятнистыми, и нет надежного способа гарантировать, что каждый шаг выполнен для всех устройств.
- Это склонно к провалу. Особенно между этапами 4 и 5 выше. Кажется, нет никаких гарантий того, когда/если обновление было успешным, чтобы узнать окончательно, когда нужно снова включить режим Single App.
- Он не работает для устройств, находящихся в автономном режиме во время обновления. Если устройство не имеет подключения к Интернету при выполнении обновления, невозможно гарантировать, что шаги будут выполняться полностью и в правильном порядке при следующем подключении устройства в режиме онлайн.
Я ищу масштабируемое решение для надежного обновления моего управляемого приложения с одним приложением, работающего на тысячах устройств, автоматическим способом без взаимодействия с пользователем. Я использую Meraki для MDM прямо сейчас, для чего это стоит.
Он не работает в 11.2.2 –