Насколько программно перезапустите приложение для iPhone в iOS

StackOverflow https://stackoverflow.com/questions/4238979

  •  26-09-2019
  •  | 
  •  

Вопрос

Насколько программно перезапустите приложение для iPhone в iOS?

Я нахожу так http://writeitstudios.com/david/?p=54.

Но может быть что-то простое.

Это было полезно?

Решение

Единственный способ, которым я знаю, это не идеально, но это работает.

Во-первых, ваше приложение должно отказаться от выполнения фона (многозадачность). Приложение должно выйти, когда выходит, не запускается как фоновая задача. Это сделано с ключом plist uipplicationexitsonsUsuspend.

Во-вторых, ваше приложение необходимо зарегистрировать пользовательскую схему URL, которую можно использовать для запуска приложения.

В-третьих, вам нужна веб-страница.

Далее пользователю нужна активное подключение к Интернету.

Чтобы выйти и перезапустить, вызовите Uiablication OpenURL на вашей веб-странице размещенного перенаправления. Ваше приложение выйдет, и Safari запустит и загружает вашу страницу. Страница будет перенаправлять Safari к вашей пользовательской схеме URL-адреса, побущая Safari внутренне вызововать OpenURL, вызывая запуск iOS.

Другие советы

Мой пост, который вы связали, ссылаясь на приложение какао, а не IOS. На iOS вы можете бросить приложение (но Apple не нравится), используя exit(0); Но я не рекомендую это. Вы не можете перезапустить приложения для iPhone, хотя.

Если вы не разрабатываете для устройств Jailbokle, Apple даже не позволит вам программически завершать свое приложение. Таким образом, перезапустить устройство не имеет никакого вопроса.

Твой AppDelegate Экземпляр имеет метод

(void)applicationDidBecomeActive:(UIApplication *)application
{
}

Здесь вы можете поставить логику, чтобы понять, если приложение должно перезапустить или продолжать делать все возможное. Например, вы можете иметь BOOL Переменная appMustRestart то есть false Сначала но срабатывает так, когда что-то происходит в вашем приложении, что вы хотели бы в следующий раз быть свежим релейном.

if (appMustRestart)
{
    [self resetVars];  // call a method that resets all your vars to initial settings

    // INSERT CODE HERE TO TRANSFER FOCUS TO INITIAL VIEWCONTROLLER
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top