J'ai utilisé NSTIMER pour appeler une méthode après 1 seconde lorsque l'application passe en arrière-plan et après près de 17 minutes de minuterie cesse de fonctionner. P>
Quand il est revenu à la précédente, il a de nouveau commencé à travailler, alors dites-moi pourquoi cela se passe et comment résoudre le problème. P>
J'ai également essayé d'utiliser un sélecteur d'exécution avec un délai de récursivité dans le même but, mais en donnant à nouveau le même résultat. S'il vous plaît suggérer une solution. Toute aide sera complètement appréciée. P>
3 Réponses :
de Mise en œuvre des tâches d'arrière-plan à long terme : p>
Pour les tâches nécessitant plus de temps d'exécution pour mettre en œuvre, vous devez demander des autorisations spécifiques pour les exécuter en arrière-plan sans être suspendu. Dans iOS, seuls des types d'applications spécifiques sont autorisés à exécuter en arrière-plan: p>
- Applications qui jouent un contenu audible à l'utilisateur lors de l'arrière-plan, tel qu'une application de lecteur de musique Li>
- Applications qui conservent les utilisateurs informés de leur emplacement à tout moment, telles qu'une application de navigation li>
- Applications prenant en charge la voix sur Internet Protocol (VoIP) LI>
- Applications de journal qui doivent télécharger et traiter le nouveau contenu LI>
- Applications qui reçoivent des mises à jour régulières des accessoires externes LI> ul> blockQuote>
Wierd Issue - J'ai aussi eu celui-ci, mais ce qui suit a fonctionné pour moi.
J'ai utilisé cela mais toujours la minuterie s'arrête après près de 16 minutes en arrière-plan
S'il vous plaît voir cela et laissez-moi savoir si cela fonctionne.
Runloop ne fonctionne pas dans le périphérique. Avoir une idée de pourquoi ça ne fonctionne pas?
Si peu de minutes ne suffisent pas, vous Vous pouvez utiliser
J'utilise les services de localisation pour le mode arrière-plan mais toujours des arrêts de minuterie
Que fait la minuterie? Je veux dire, est l'une des tâches de fond autorisées par Apple?
Quels "modes de fond requis" avez-vous défini dans vos propriétés cible de construction?
J'ai ajouté "Appregistrement de l'application pour les mises à jour de localisation" dans mes modes de fond requis
S'il vous plaît suggérer comment atteindre cette tâche. L'aide sera appréciée