Fermer son application avec touche Home

Bonjour à  tous,


 


Objectif : femer VRAIMENT l'application quand on appuie la touche Home


Le problème : l'application reste visible sur l'iPhone quand on appuie deux fois sur Home MAIS elle redémarre. Je veux q'elle disparaà®sse COMPLETEMENT


 


J'ai trouvé cela mais l'application reste visible:


1) dans fichier plist


    <key>UIApplicationExitsOnSuspend</key>

    <true/>


2) exit(0); dans applicationWillResignActive (AppDelegate.m)


3) exit(0); dans applicationWillTerminate (AppDelegate.m)


4) planter l'application dans applicationWillResignActive


    NSArray *array = [[NSArray alloc] init];

    NSLog(@%@",[array objectAtIndex:10]);


 


Voilà  mes tests DONC l'application reste toujours "visible"


 


Merci de votre aide


 


Jennifer


 


Réponses

  • Am_MeAm_Me Membre
    septembre 2014 modifié #2

    Euh mais ça ce n'est pas à  toi de gérer si elle doit rester ou non sur le multitâche (qu'elle soit fermée ou toujours ouverte) et je pense même que c'est impossible : tu es limitée à  : 1) la suspendre et la fermer 2) ne rien faire


     


    Enfin jette un oeil sur ça : Multitâche


     


    J'espère ne pas te dire de bêtises


  • CéroceCéroce Membre, Modérateur


     


    Le problème : l'application reste visible sur l'iPhone quand on appuie deux fois sur Home MAIS elle redémarre. Je veux q'elle disparaà®sse COMPLETEMENT


     




     


    Essaie avec ce code:



    while(1);

    Bon, je te taquine, mais comme indiqué par Am_Me, ce n'est pas au programmeur de gérer la fermeture des applis.



  • Le problème : l'application reste visible sur l'iPhone quand on appuie deux fois sur Home MAIS elle redémarre. Je veux q'elle disparaà®sse COMPLETEMENT


     




     


    Le "task manager" de l'iPhone affiche l"image des dernières applications lancées, qu'elles soient encore en cours d'exécution ou pas. Impossible de passer au travers... Il existe sur Github un exemple de code en objective-C qui permet de changer l'image qui sera affichée lorsque l'on quitte l'application ( https://github.com/vpdn/MMAppSwitcher ) mais en aucun cas on ne peut totalement la supprimer.

  • Merci,


     


    cela veut dire que mon application ne tourne plus. C'est au moins l'information principale pour moi. Je vais regarder le code.


     


    Merci à  tous.


     


    Jennifer


  • Am_MeAm_Me Membre
    septembre 2014 modifié #6

    De rien.


     


    Je vais t'habituer à  faire quelque chose qui n'est pas obligatoire mais plus simple après pour s'y retrouver : 


     


    Tu vas sur ton premier message en haut tu clique sur "Plus d'option de réponse" puis sur "Utiliser l'éditeur complet" puis tu ajoute devant ton titre : [Résolu] par exemple


     


    [Résolu] Fermer son application avec touche Home


  • tout dépend de ton application, il peut y avoir des processes qui continuent en tâche de fond (comme des téléchargements), normalement si c'est toi qui a codé l'applie tu dois être au courant car il me semble que tout est explicite. En général tout est fait pour que la consommation de resources soit minimisée, mais les variables ne sont mises à  zero que lors d'une alerte mémoire (donc tu ne peux pas compter dessus quand l'applie redevient active). Les callback comme "applicationWillResignActive" te permettent à  la fois de les sauver (tes variables) et éventuellement de les mettre à  zéro si besoin si tu ne veux pas qu'elles trainent en mémoire.

  • AliGatorAliGator Membre, Modérateur


    tout dépend de ton application, il peut y avoir des processes qui continuent en tâche de fond (comme des téléchargements), normalement si c'est toi qui a codé l'applie tu dois être au courant car il me semble que tout est explicite. En général tout est fait pour que la consommation de resources soit minimisée, mais les variables ne sont mises à  zero que lors d'une alerte mémoire (donc tu ne peux pas compter dessus quand l'applie redevient active). Les callback comme "applicationWillResignActive" te permettent à  la fois de les sauver (tes variables) et éventuellement de les mettre à  zéro si besoin si tu ne veux pas qu'elles trainent en mémoire.

    ouais enfin avec un UIAppExitsOnSuspend ou avec un exit(0) ça Killian l'appli complètement donc plus de code en background ni de variable à  remettre à  zéro, c'est un kill violent (façon "kill -9" en UNIX) donc la question ne se pose pas.
Connectez-vous ou Inscrivez-vous pour répondre.