2016-12-02 15 views
0

Quelles sont mes possibilités lorsque je reçois un ? Je veux effectuer une tâche de données pour envoyer des données à mon serveur distant, mais si j'essaye d'appeler la méthode qui exécute ce processus l'exécution s'arrête là, et elle n'est pas appelée. Je peux faire des choses de base comme la journalisation du texte ou des données en utilisant NSLog mais je ne peux rien faire de plus compliqué que cela? Est-ce possible, et si oui, comment puis-je le faire?Limitations de UIApplicationWillTerminateNotitication?

+0

Vous devez enregistrer les données lorsque votre application entre en arrière-plan et non lorsqu'elle est sur le point d'être supprimée. – rmaddy

+0

@rmaddy Eh bien, tout d'abord, je ne veux pas enregistrer de données, j'ai besoin de démarrer un processus en arrière-plan très spécifique lorsque mon application n'est pas active au premier plan (donc en arrière-plan ou complètement détruite). Ce processus doit être lancé à la fois lorsque mon application entre en arrière-plan et lorsque mon application est tuée? Comment traiteriez-vous le scénario dans lequel l'utilisateur tue immédiatement votre application sans passer en arrière-plan en premier? Ensuite, toutes les données seraient perdues, n'est-ce pas? –

+0

"dans lequel l'utilisateur tue immédiatement votre application sans entrer en arrière-plan en premier" Si l'utilisateur tue votre application, votre application a été désactivée à tout le moins. – matt

Répondre

0

La principale limitation de est que vous aurez probablement jamais le recevoir. Il ne vaut essentiellement pas la peine de s'enregistrer pour cela.

+0

Il est appelé chaque fois que je tue mon application. Vous confondez probablement la notification avec la méthode déléguée 'applicationWillTerminate', qui en effet ne s'appelle pratiquement jamais (fondamentalement jamais). La notification, cependant, est TOUJOURS reçue. –

+0

Intéressant. Dans ce cas, vous devriez baisser ma réponse! Je me trompe (si ce que vous dites est vrai). Je vais devoir explorer plus loin. – matt

+0

Je crois qu'il sera appelé si l'application est tué quand il est au premier plan mais inactif (par exemple, double-cliquez et balayez immédiatement sur votre application) mais pas si elle est suspendue (ie vous exécutez une autre application au premier plan, double-cliquez et faites défiler vers votre application et balayez vers le haut) – Paulw11