Как перезагрузить или перезагрузить приложение iPhone программно в iOS

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

спасибо.

5 ответов


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


вы не можете перезагрузить приложение, и я не понимаю, почему вы a) должны b) когда-либо хотите.


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

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


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

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

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

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


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

например,

1) Если вы находитесь под корнем:

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

2) Если вы находитесь под мобильным телефоном:

    uicache

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