2014-10-07 5 views
2

Я работаю на предприятии приложение, которое распространяется ITMS-услуги.IOS 8 Enterprise приложений обновления

У этого приложения есть служба, которая позволяет пользователю знать, когда есть обновление, поэтому, когда пользователь нажимает кнопку обновления, приложение вызывает itms-services для загрузки и установки последней версии.

До тех пор, пока iOS 8 при вызове itms-сервисов из приложения система не закроет приложение и не начнет процесс обновления. Теперь есть раздражающие изменения, когда приложение больше не закрывается, пользователь не знает, что процесс обновления запущен.

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

Кто-нибудь знает лучшее решение для этого?

ОБНОВЛЕНИЕ: Это приложение также распространяется в App Store, поэтому я не могу использовать ничего, что могло бы вызвать отклонение Apple.

Благодаря

+0

Можете ли вы попробовать кнопку «Домой» после запуска обновления или попробовать закрыть приложение? '[[NSThread mainThread] exit]' –

+0

Да, пользователь может использовать домашнюю кнопку. Можно ли вызвать [[NSThread mainThread] exit]? Знаете ли вы, что Apple сообщит об этом? Это приложение также распространяется в App Store. –

+0

[[NSThread mainThread] exit] - это правильный способ закрыть приложение! но я не знаю, действительно ли вам нужно закрыть его перед обновлением. собственный способ обновления - просто поразить дом –

ответ

0

Процесс обновления в IOS 8 не останавливает выполнение приложения, пока обновление не будет завершено. Если вы просматриваете домашний экран во время обновления, вы увидите два значка для одного и того же приложения. По завершении обновления значок «обновление» исчезнет, ​​и ваше приложение будет обновлено.

Если вы выпускаете корпоративное приложение, вы, вероятно, не будете проходить процесс рассмотрения Apple. Вы можете изучить частные методы для закрытия приложения, когда инициируется поток обновления в приложении. Вы даже можете вызвать сбой, если хотите (например, попытаться получить доступ к индексу массива за пределами границ), хотя вы, вероятно, получите отчеты о сбоях. ;)

+0

Я не могу использовать частные методы, потому что одно и то же приложение распространяется в App Store, только некоторые из наших клиентов используют корпоративный дистрибутив. О втором значке это не мое дело, я читал о людях, говорящих, что второй элемент может быть создан, когда идентификатор пакета не совпадает (http://stackoverflow.com/questions/25772664/enterprise-app-update-distribution -он-КСН-8). Пока мое приложение запускает процесс загрузки, процесс установки запускается только тогда, когда приложение не работает на переднем плане. Спасибо –

+0

Вы уверены, что есть только один значок на iOS 8? Значки не обязательно будут отображаться на одной странице вашего домашнего экрана.По моему опыту, с момента обновления до iOS 8 всегда было два, даже если идентификатор пакета не изменяется. Этот второй значок показывает, пока обновление не будет завершено, а затем исчезнет. –

+0

В моем случае новый значок заменяет текущий, и было бы идеально, если бы исполнение было остановлено. –

2

Вы можете позвонить

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

поместить приложение в фоновом режиме, сразу после открытия вашего ITMS URL.

+0

Это действительно хорошо для меня. Франко: Почему бы вам не использовать этот код, но не удаляйте его при создании магазина приложений? В любом случае, это не так? (По крайней мере, должен быть другой профиль обеспечения). Добавьте директиву препроцессора, чтобы удалить его в сборках App Store, и Apple не отклонит ваше приложение. –

Смежные вопросы