2014-07-25 4 views
2

Je me promenais la meilleure façon de créer un utilisateur et de le supprimer après la fin de la session. Je suis impatient de faire une discussion anonyme. L'application crée et nom d'utilisateur et mot de passe aléatoire, inscrivez-vous à l'utilisateur et connectez-vous. Lorsque l'utilisateur ferme l'application (appuyez deux fois sur la maison et balayez vers le haut), il devrait supprimer l'utilisateur.Comment créer un utilisateur temporaire dans QuickBlox?

Où dois-je mettre le [QBUsers deleteUserWithID: userID delegate: self]; code?

J'ai essayé dans applicationWillTerminate:

- (void)applicationWillTerminate:(UIApplication *)application { 
    [QBUsers deleteUserWithID:appDelegate.appUser.userID delegate:self]; 
    NSLog(@"%u",appDelegate.appUser.userID); 
} 

Le NSLog retour l'ID droit, mais l'utilisateur ne sont pas supprimés, si je mets un IBAction avec le même code cela fonctionne.

Des idées?

Répondre

0

Le problème avec votre code est que vous pouvez effectuer uniquement le code de synchronisation dans applicationWillTerminate, mais pas async.

+0

Suggéreriez-vous des idées? Je voudrais supprimer l'utilisateur de la base de données sans demander à l'utilisateur de se déconnecter ou quelque chose et seulement après (quand) il se ferme ou se termine (double appuyez sur la maison, faites glisser vers le haut) l'application. –

2

Voici ce que les documents disent:

(...) vous devez être prêt pour votre application à tuer sans aucune notification . L'utilisateur peut tuer des applications explicitement en utilisant l'interface utilisateur multitâche .

Et un peu plus d'informations sur applicationWillTerminate:

Si votre application est en cours d'exécution au moment de la résiliation, le système appelle votre application méthode de délégué applicationWillTerminate: pour que vous puissiez effectuer tout nettoyage nécessaire. Votre méthode a environ 5 secondes à effectuer des tâches et revenir. Si elle ne revient pas à temps, l'application est supprimée et supprimée de la mémoire.

Important: La méthode n'est pas appelée si votre application est actuellement suspendue.

Source: App States and Multitasking

Questions connexes