Action à faire en background
Bonjour à tous,
Pour ma nouvelle application, j'aurais besoin de faire appel à un Webservice toutes les 5 minutes, cela fonctionne très bien avec un NSTimer et sa fonction scheduledTimerWithTimeInterval.
Par contre, j'ai besoin que cet appel à mon webservice se fasse aussi quand mon application est en background. Est ce possible ?
J'ai regardé du côté de l'actualisation en arrière plan, avec le mode background fetch et la fonction performFetchWithCompletionHandler mais sans succès, car si j'ai bien compris c'est de façon aléatoire et de temps en temps que cette fonction est appelée.
Donc j'aurais aimé savoir si un appel d'un webservice avec une application en background tous les 5 minutes est il possible? Si oui comment dois je mis prendre ?
Bien à vous.
Réponses
Bonjour,
je ne m'y connais pas en iOS, mais je crois avoir compris que l'application en background dort (ne tourne plus) et donc ne peut plus lancer d'instructions.
Pour faire ce que tu souhaites, il faudrait que ce soit le serveur qui toutes les 5 minutes envoie des données à ton utilisateur.
J'espère me tromper et que tu pourras faire ce que tu souhaites
A peu près ça oui. Tu peux forcer ton serveur a envoyer des remotes notifs ce qui réveillera ton application.
La tu fais une demande de background et un temps te sera alloué pour tes traitements.
ça pourrait répondre a tes besoins, mais malgré ta motivation a faire ça, je pense que tu pourrais avoir d'autres solutions que de rafraichir toutes les 5minutes ton appli en background.
Par contre du coup attention, ça ne fonctionne qu'avec iOS 7 minimum.
Et dans l'idéal, ne pas envoyer une notification toutes les 5 minutes, mais lorsque les données dont a besoin le client ont significativement changé sur le serveur. Parce qu'une application réveillée toutes les 5 minutes, parfois pour rien, c'est la mort pour la consommation électrique, et l'utilisateur qui râle.