Je suis à la programmation d'une application iPhone, et j'ai besoin de le forcer à quitter en raison de certaines actions de l'utilisateur. Après le nettoyage de la mémoire de l'application alloué, quelle est la méthode appropriée pour appeler à mettre fin à l'application?
Réponses
Trop de publicités?Sur l'iPhone il n'y a pas de notion de fermeture d'une application. La seule action qui devrait provoquer une application pour arrêter de fumer est de toucher le bouton d'Accueil sur le téléphone, et ce n'est pas quelque chose que les développeurs ont accès.
Selon Apple, votre application ne doit pas mettre fin de sa propre. Puisque l'utilisateur n'a pas frappé le bouton de la Maison, tout retour à l'écran d'Accueil donne à l'utilisateur l'impression que votre application s'est écrasé. Ceci est source de confusion, non-standard de comportement et doit être évitée.
exit(0) apparaît à l'utilisateur comme les accidents, pour afficher un message de confirmation à l'utilisateur. Après confirmation de la suspension(bouton de la maison de la presse par programmation) et attendre 2 secondes tandis que l'application va de fond avec l'animation, puis la sortie de derrière vue de l'utilisateur
-(IBAction)doExit
{
//show confirmation message to user
UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Confirmation"
message:@"Do you want to exit?"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"OK", nil];
[alert show];
}
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex != 0) // 0 == the cancel button
{
//home button press programmatically
UIApplication *app = [UIApplication sharedApplication];
[app performSelector:@selector(suspend)];
//wait 2 seconds while app is going background
[NSThread sleepForTimeInterval:2.0];
//exit app when app is in background
exit(0);
}
}