Question

Comment redémarrer programme une application iPhone dans iOS?

Je trouve cette façon http://writeitstudios.com/david/?p=54

Mais peut-être quelque chose simple.

Était-ce utile?

La solution

La seule façon que je sais faire est pas idéal, mais cela fonctionne.

Tout d'abord, votre application doit refuser l'exécution d'arrière-plan (multi-tâches) L'application doit arrêter de fumer quand est sorti, ne fonctionne pas comme une tâche d'arrière-plan. Cela se fait avec la touche UIApplicationExitsOnSuspend plist.

En second lieu, vos besoins d'applications pour enregistrer un schéma d'URL personnalisé qui peut être utilisé pour lancer l'application.

Troisièmement, vous avez besoin d'une page Web hébergée quelque part que lorsqu'il est chargé rediriger vers le schéma d'URL personnalisé de votre application.

Forth, l'utilisateur a besoin d'une connexion Internet active.

Pour quitter et redémarrer, appelez UIApplication openURL sur votre page Web de redirection hébergé. Votre application sortira et Safari va lancer et charger votre page. La page redirigera Safari à votre système d'URL personnalisée, ce qui incite Safari à appeler en interne openURL, ce qui iOS pour lancer votre application.

Autres conseils

mon post que vous avez accédé à se réfère à une application Cocoa, et non l'iOS. Sur iOS, vous pouvez quitter une application (mais Apple ne fonctionne pas comme ça) en utilisant exit(0); mais je ne le recommande pas. Vous ne pouvez pas redémarrer iPhone apps bien.

Sauf si vous développez des périphériques jailbreakés, Apple ne sera pas même vous permettre de mettre fin à votre application programatically. Ainsi, le redémarrage de l'appareil est hors de question.

Votre instance de AppDelegate a une méthode

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

Ici, vous pouvez mettre la logique de savoir si l'application doit redémarrer, ou continuer à faire ce qu'il faisait. Par exemple, vous pouvez avoir une variable BOOL appMustRestart qui est false au début, mais se déclenche aussi vrai lorsque quelque chose se passe dans votre application que vous souhaitez la prochaine fois être une nouvelle relance.

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

    // INSERT CODE HERE TO TRANSFER FOCUS TO INITIAL VIEWCONTROLLER
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top