Comment garder NSTimer lors de l'application de saisie de fond?
Je suis ici parce que un ne trouve pas de solutions pour mon problème 🙁
Je suis en train de faire une application simple dans laquelle je dois envoyer (par socket) des informations à un serveur (comme le GPS l/l, l'exactitude, le niveau de la Batterie, etc).
Le code actuel fonctionne très bien lorsque l'application est en arrière plan.
myTimer = [NSTimer scheduledTimerWithTimeInterval: 2.0 target:self
selector: @selector(sendPosToServer:) userInfo:nil repeats: YES];
myTimer2 = [NSTimer scheduledTimerWithTimeInterval: 3.0 target:self
selector: @selector(sendBatteryToServer:) userInfo:nil repeats: YES];
myTimer3 = [NSTimer scheduledTimerWithTimeInterval: 5.0 target:self
selector: @selector(sendResToServer:) userInfo:nil repeats: YES];
myTimer4 = [NSTimer scheduledTimerWithTimeInterval: 5.0 target:self
selector: @selector(sendQResToServer:) userInfo:nil repeats: YES];
myTimer5 = [NSTimer scheduledTimerWithTimeInterval: 3.0 target:self
selector: @selector(sendPrecisionToServer:) userInfo:nil repeats: YES];
Toutes ces méthodes sont appelées.
Mais lors de l'application d'entrer dans le fond, tous les timer sont invalider... j'ai lu que iOS automatiquement arrêter les timers..
Je suis à la recherche d'un moyen pour l'appel de méthodes et d'envoyer des données lorsque l'application est en arrière-plan..
J'ai besoin de votre aide 🙂
Merci à tout le monde !!
OriginalL'auteur user1147981 | 2012-03-23
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de lire le guide sur la façon d'exécuter des tâches en arrière-plan:
Exécution en arrière-plan et le Multitâche
Voici mon applicationDidEnterBackground pour une de mes applications. Quand je l'ai mis à l'arrière-plan, il fait un peu cache disque de l'entretien:
}
OriginalL'auteur bandejapaisa
À partir de l'Apple docs:
À moins que votre application s'inscrit dans l'une de ces catégories (et il semble que ça ne marche pas), alors il ne sera pas en mesure d'exécuter tandis que dans l'arrière-plan.
OriginalL'auteur Ashley Mills
La l'Application iOS Guide de Programmation répertorie les activités pour lesquelles votre application est autorisée à rester actif en arrière-plan. Si vous prévoyez de distribuer votre application via l'app store, votre application sera d'effectuer l'une des activités énumérées. Si vous êtes en train d'écrire quelque chose pour vous-même, vous pourriez être en mesure de reprendre votre fonctionnalité sur l'une des activités autorisées.
"Accessoire externe" signifie quelque chose de relié à l'appareil, pas un serveur sur le net. Donc, si vous obtenez les données GPS à partir de certains GPS récepteur qui communique via bluetooth, par exemple, l'accessoire en option. Si vous êtes l'obtention de données à partir d'un appareil propre récepteur GPS, utiliser le service de localisation de la place. L'appareil vous indiquera lorsque les modifications de l'emplacement. Vous aurez à changer votre approche puisque vous ne pouvez pas mettre à jour le serveur à intervalles fixes.
=/ Ok. Je suis petite de mauvais dans IOS dev. Je comprends ce que tu veux dire, mais je ne sais pas comment l'exécuter
juste au cas où si vous avez l'intention d'écrire cela comme une sorte de "gestion de flotte' app vous devriez savoir qu'il ne passera pas à l'examen (App Store Examen des lignes Directrices)
OriginalL'auteur Caleb