Comment redémarrer par programme une application iPhone en iOS
Comment redémarrer par programme une application iPhone en iOS?
Je trouve cette façon http://writeitstudios.com/david/?p=54
Mais peut-être quelque chose de simple.
Pas de. Ne pas le faire. Pour l'amour de dieu.
Bien l'exemple que vous avez devis pour le Cacao Demande pas de Cocoa Touch (iOS) de l'application. Deuxièmement, il n'est pas possible sur iOS pour redémarrer l'application.
Et, bien sûr, la vraie question: Pourquoi voulez-vous?
J'ai mis à jour mon post pour préciser explicitement que ce n'est pas pour l'iOS. Je ne comprends pas pourquoi vous l'avais même envie de relancer une application iPhone.
Bien l'exemple que vous avez devis pour le Cacao Demande pas de Cocoa Touch (iOS) de l'application. Deuxièmement, il n'est pas possible sur iOS pour redémarrer l'application.
Et, bien sûr, la vraie question: Pourquoi voulez-vous?
J'ai mis à jour mon post pour préciser explicitement que ce n'est pas pour l'iOS. Je ne comprends pas pourquoi vous l'avais même envie de relancer une application iPhone.
OriginalL'auteur Andrei Eremchuk | 2010-11-21
Vous devez vous connecter pour publier un commentaire.
La seule façon que je sais faire c'est pas l'idéal, mais ça fonctionne.
Tout d'abord, votre application a de l'opt out d'exécution en arrière-plan (multitâche) L'application doit quitter lors de la fermeture, de ne pas exécuter en tâche de fond. Cela se fait avec la plist clé UIApplicationExitsOnSuspend.
Seconde, votre application doit s'inscrire une URL personnalisée régime qui peut être utilisé pour lancer l'application.
Troisième, vous avez besoin d'une page web hébergée quelque part que lorsqu'il est chargé va rediriger vers votre application personnalisée schéma d'URL.
De suite, l'utilisateur a besoin d'une connexion Internet active.
Quitter et redémarrer, appel UIApplication openURL sur votre hébergé redirection de page web. Votre application va vous quitter et safari de lancement et de chargement de votre page. La page de redirection Safari de votre URL personnalisée régime, incitant Safari interne appelle openURL, provoquant l'iOS de lancement de votre application.
-applicationWillTerminate:
; il peut être plus facile de le servir dans un autre thread, mais vous pouvez aussi l'appeler juste socket(), bind(), listen(), accept(), write () et close()). Laissez votre application terminer une fois que vous avez servi la page et de la page de lancer votre application avec un retard (le "Actualiser" ou "Recharger" en-tête, je pense).Vous n'avez même pas besoin de mettre UIApplicationExitsOnSuspend; vous avez juste à appeler exit(). Emballage le "serveur" est -beginBackgroundTaskWithExpirationhandler: cette fonction garantit que votre application obtient assez de temps PROCESSEUR pour servir la chose, et puis vous pouvez dormir pendant 500 ms (pour "assurer" les données sont envoyées) et exit(). Le complexe bit est l'analyse de la demande, mais vous pouvez fudge que par le sommeil pendant 500 ms et de la lecture dans un largeish (8K) de la mémoire tampon, ou (si vous vous sentez aventureux) select+lire pendant 500 ms.
Intéressant...mais peur de solution!!!
Intéressant...mais effrayant solution!!!
OriginalL'auteur TomSwift
mon post que vous avez lié à est en se référant à une Application Cocoa, pas le iOS. Sur iOS, vous pouvez quitter l'application en cours (mais Apple ne le fait pas comme ça) à l'aide de
exit(0);
mais je ne le recommande pas. Vous ne pouvez pas redémarrer les applications de l'iPhone.OriginalL'auteur Pripyat
Sauf si vous êtes en développement pour jailbreaké appareils, Apple ne permet même d'en programmant mettre fin à votre application. Si le redémarrage de l'appareil est hors de question.
Bien sûr, vous pouvez — vous pouvez appeler exit() ou kill() ou juste retour de main(), ou diverses autres choses (comme abort()). Il est indiscernable d'un accident et sera probablement obtenir votre application rejetée par Apple pour cette raison.
Ce qui signifie que le retour de main()? - Je résoudre le problème de l'ajout bouton quitter() app. J'en ai besoin parce que la mesure première fois et la deuxième fois, toujours différent.
Je suis l'aide de exit() pour quitter une application, a passé app store review pas de problème.
Ils ne peuvent pas avoir manqué de le remarquer - si vous entrez une date de naissance qui fait de vous des moins de 18 ans dans l'écran initial, il la quitte (exigence de la boissons de la compagnie dont l'application.) Je ne serais pas surpris si j'ai soumis la même application et l'ont rejetée. Les rejets semblent tous un peu au hasard!
OriginalL'auteur samvermette
Votre
AppDelegate
exemple, a une méthodeIci, vous pouvez mettre de la logique pour déterminer si l'application doit redémarrer, ou continuer à faire ce qu'il faisait. Par exemple, vous pouvez avoir un
BOOL
variableappMustRestart
qui estfalse
au premier abord, mais se déclenche comme vrai à chaque fois que quelque chose se passe dans votre application que vous voulez que la prochaine fois pour être une nouvelle relance.OriginalL'auteur user2084569