Question

Je l'ai et problème où je veux les données GPS virés périodiquement, dire toutes les 5 minutes. Je peux le faire problème lorsque l'application ne fonctionne. Cependant, je voulais savoir s'il y a un moyen standard pour le faire en utilisant l'iPhone « multitâches ». Je collectionne les données à l'aide du processus d'arrière-plan à l'aide du modèle de mise à jour constante et les changements importants, mais ceux-ci sont soit trop intensive batterie ou inexactes.

Je suis en train à regarder le la NSLocalNotification, comment jamais je ne suis pas sûr de la garde de l'application dans un état d'arrière-plan tout lieu de vérifier périodiquement, je pense que cela a seulement la possibilité de lancer l'application.

Merci d'avance.

Était-ce utile?

La solution

Il n'y a aucun moyen d'effectuer le service GPS acquisition (chaque 5 min par exemple).

De la documentation d'Apple:

  

Conseils d'économiser l'énergie de la batterie

     

Réception et transmission de données en utilisant les radios d'un dispositif à base d'iOS nécessitent plus de puissance que toute autre opération sur l'appareil. Parce que Core Location repose sur ces radios pour déterminer l'emplacement de l'utilisateur, vous devez utiliser les services de localisation judicieusement dans vos applications. La plupart des applications ne les services de localisation ne doivent courir tout le temps, et ainsi de désactiver ces services est la façon la plus simple pour économiser l'énergie.

     
      
  • Désactiver les services de localisation lorsque vous ne les utilisez pas. Cela peut sembler évident, mais il vaut la peine de répéter. À l'exception des applications de navigation qui tour-par-tour offre, la plupart des applications ne les services de localisation pas besoin d'être tout le temps. Tournez les services de localisation sur juste assez longtemps pour obtenir un emplacement fixe, puis les désactiver. À moins que l'utilisateur se trouve dans un véhicule en mouvement, l'emplacement actuel ne devrait pas changer assez souvent pour être un problème. Et vous pouvez toujours commencer à nouveau les services de localisation plus tard si nécessaire.
  •   
  • Utilisez le service de localisation important changement au lieu du service emplacement standard lorsque cela est possible. Le service de localisation important changement permet des économies d'énergie importantes tout en vous permettant de quitter les services de localisation en cours d'exécution. Il est fortement recommandé pour les applications qui ont besoin de suivre les changements dans l'emplacement de l'utilisateur, mais ne pas besoin de la plus grande précision offerte par les services de localisation standard.
  •   
  • Utiliser les valeurs basse résolution pour la précision souhaitée à moins que cela nuirait à votre application. Demander une plus grande précision que vous avez besoin provoque Core Location à la mise sous tension du matériel supplémentaire et la puissance des déchets de précision que vous n'êtes pas en utilisant. À moins que votre application a vraiment besoin de connaître la position de l'utilisateur à quelques mètres, ne mettez pas les valeurs kCLLocationAccuracyBest ou kCLLocationAccuracyNearestTenMeters dans la propriété desiredAccuracy. Et rappelez-vous que la spécification d'une valeur de kCLLocationAccuracyThreeKilometers n'empêche pas le service de localisation de retourner de meilleures données. La plupart du temps, Core L'emplacement peut renvoyer des données de localisation avec une précision à une centaine de mètres en utilisant une connexion Wi-Fi et les signaux cellulaires.
  •   
  • Désactiver les événements de localisation si la précision ne pas améliorée au cours d'une période de temps. Si votre application ne reçoit pas d'événements avec le niveau de précision souhaité, vous devriez regarder l'exactitude des événements que vous faites recevoir et voir si elle améliore ou rester sur le même temps sur. Si la précision ne s'améliore pas, il pourrait être parce que la précision souhaitée est tout simplement pas disponible pour le moment. Désactivation des services de localisation et d'essayer à nouveau plus tard empêche l'application de perdre le pouvoir.
  •   
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top