2010-02-11 6 views
1

Pouvez-vous configurer un taux de mise à jour à heure constante pour CLLocationManager afin de forcer la mise à jour des emplacements comme toutes les 10 secondes en continu? Je connais l'utilisation du filtre de distance mais que se passe-t-il si quelque chose s'est mal passé et que l'emplacement n'est pas mis à jour? Merci!iPhone Core Location taux de mise à jour CLLocationManager

Répondre

8

Il n'est pas possible de contrôler le taux de mise à jour. Vous pouvez définir une minuterie, puis désactiver les mises à jour jusqu'à la fin de la minuterie. C'est la chose habituelle à faire pour éviter d'utiliser trop de puissance.

S'il y a un problème, vous serez informé par la méthode déléguée locationManager:didFailWithError:

Voici un bon poste qui montre comment filtrer les mauvaises lectures CoreLocation:

http://troybrant.net/blog/2010/02/detecting-bad-corelocation-data/

+1

Je pense qu'il est essentiel du point ici que l'approche du minuteur échouera si votre application est en arrière-plan. Vous pouvez utiliser une minuterie pour activer et désactiver vos mises à jour de localisation afin de préserver l'autonomie de la batterie, mais 10 secondes après avoir appelé 'stopUpdatingLocation' votre application va être mise en veille par' iOS', arrêtant votre minuterie et empêchant les mises à jour de localisation jamais recommencer. –

Questions connexes