Как перезагрузить или перезагрузить приложение iPhone программно в iOS - PullRequest
7 голосов
/ 03 февраля 2012

Я загрузил xml file, который содержит некоторые параметры обновления, а затем мне нужно перезагрузить эти параметры и запустить некоторые представления.Самый простой способ - применить эту конфигурацию при следующей загрузке приложения.Есть ли способ перезагрузить iOS application программно?

Спасибо.

Ответы [ 5 ]

9 голосов
/ 03 февраля 2012

Перезагрузка приложения - плохая идея, я уверен, что Apple отклонит его. Тем не менее, вы можете отобразить всплывающее окно, предлагающее пользователю закрыть приложение, чтобы применить обновленную информацию. Но лучшим способом было бы просто вручную вызвать методы, необходимые для перестройки вашего приложения (т.е. те, которые должны использовать обновленные данные). Если вам нужно сделать обширную перестройку (то есть то, что пользователь сразу заметил бы), было бы неплохо добавить в своего рода индикатор загрузки «*».

4 голосов
/ 03 февраля 2012

Вы не можете перезагрузить свое приложение, и я не понимаю, почему вы должны а) должны Б) КОГДА-ЛИБО ХОТИТЕ.

2 голосов
/ 04 февраля 2012

Вы можете выйти и перезапустить приложение iOS с небольшим количеством помощи пользователя.Установите ключ plist приложения для выхода приложения из режима ожидания.Создайте локальное уведомление для вашего приложения, которое будет активировано через несколько секунд.Затем отправьте Safari URL-адрес.ОС завершит работу вашего приложения при запуске Safari для обработки URL.URL-адрес может указывать на целевую веб-страницу, сообщающую пользователю о том, что выполняется повторный запуск.Затем локальное уведомление отключится и попросит пользователя перезапустить ваше приложение.

Однако приложение должно быть (пере) разработано так, чтобы никогда не было причин для этого.

1 голос
/ 03 февраля 2012

Вы можете сделать это, только если ваше устройство взломано

Вставьте кнопку перезагрузки в ваше приложение и позвоните abort();. Это приведет к сбою приложения.

Крюк -(void)exitedAbnormally; с SBApplication и напишите код для запуска приложения.

Если его не взломали, у вас нет выбора

0 голосов
/ 25 апреля 2013

если вы разрабатываете для взломанных устройств, вы можете использовать команду uicache для очистки кеша трамплина и перезагрузки новых приложений / значков (доступно из пакета UIKit).

например,

1) если вы под root:

    su mobile -c uicache 1>/dev/null 2>&1

2) если у вас мобильный телефон:

    uicache

для перезагрузки вы можете использовать команду reboot под root и killall SpringBoard для восстановления

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...