Подтвердить что ты не робот

Ios 8 openUrl itms-services не выходит из текущего приложения

В iOS 6 или 7 выход приложения на главный экран при вызове UIApplication openUrl с URL-адресом itms-services://XXXX для установки новой версии моего приложения (с использованием корпоративного развертывания с файлами ipa).

В iOS 8 это уже не так. Теперь приложение продолжает работать так же, как ничего не произошло, но если я иду на главный экран, я вижу, что значок моего приложения неактивен, с загружаемой круговой диаграммой около 66% и текстом "Downloading..." ниже. Если я сейчас подожду какое-то время (менее минуты), приложение будет установлено правильно, и я снова смогу запустить приложение.

Кто-нибудь еще испытал такое поведение? Кто-нибудь видел какие-либо документы по этому поводу? Я могу принять поведенческие изменения до тех пор, пока они задокументированы, но я не видел никакой документации относительно этого.

4b9b3361

Ответ 1

Да, вы также получаете такое же поведение при нажатии ссылки загрузки в сафари сейчас на iOS8.

Я не уверен, почему они ввели это изменение, но на самом деле его нет (если вы не заставите свое приложение сбой с чем-то вроде exit(0);)

Кроме того, схема URL itms-services недокументирована и технически является частной api. По опыту вы не можете отправлять приложения в App Store, которые его используют.

Ответ 2

При форсировании приложения к сбою технически будет работать, гораздо лучшее решение (позволяющее пользователю сохранить состояние приложения) было бы просто оповестить приложение, запускающее ссылку itms-services, выполнив следующее.

[[UIApplication sharedApplication] performSelector:@selector(suspend)];

Мы используем это в приложении, используемом для распространения тестовых сборок нашим тестировщикам, и оно работает очень хорошо, и устраняет путаницу тестера, пытающегося установить приложение, и приложение остается впереди. Он также позволяет им вернуться в наше приложение для распространения и забрать его там, где они были.

Ответ 3

Я испытал подобное. У меня есть веб-страница для нашего внутреннего магазина приложений, и когда я нажимаю на ссылку, я получаю приглашение, спрашивающее, хочу ли я установить, и когда я говорю, что сафари просто сидит там. Приложение загружается на главный экран, но в сафари IOS 7 будет отодвинут на задний план, и вы сможете увидеть, куда загружается ваше приложение и его прогресс. Теперь кажется, что ничего не происходит. Я хотел бы исправить это. Возможно, что-то изменилось в файлах .plist, используемых протоколом itms-services. Этот протокол не является частным, он просто зарезервирован для развертывания предприятия.