Mon application doit enregistrer (aussi précisément que possible) l'emplacement et le mouvement de l'utilisateur au fil du temps. Si je laisse l'appareil en veille, la précision du GPS semble automatiquement réduite. Je peux l'empêcher de dormir, mais de toute évidence c'est une fuite supplémentaire sur la batterie. Je voudrais permettre à l'affichage de dormir, mais maintenir la précision maximale pour le gestionnaire de location. J'ai des mises à jour de localisation cochées dans la section Modes d'arrière-plan. Mon code ressemble à ceci ...Comment garder le GPS à pleine puissance pendant que l'appareil dort
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation
locationManager.distanceFilter = 1
locationManager.activityType = .Fitness
locationManager.requestAlwaysAuthorization()
locationManager.pausesLocationUpdatesAutomatically = false
locationManager.startUpdatingLocation()
UIApplication.sharedApplication().idleTimerDisabled = true
Je voudrais vraiment supprimer cette dernière ligne, mais tous les tests que je l'ai fait sur un 4s suggère que, dès que l'appareil dort, il perd la précision.
Pourriez-vous s'il vous plaît définir le "gestionnaire de localisation perd de la précision"? Comment exactement vous définissez la précision ici - est-ce la précision horizontale pour les emplacements signalés, le filtre de distance, quelque chose d'autre? –
Oui, merci d'avoir répondu. Je mesure la précision horizontale (.horizontalAccuracy). – Melchester
Pouvez-vous dire comment change-t-on .horizontalAccuracy en passant du premier plan à l'arrière-plan et finalement au mode suspendu? Pouvez-vous poster des lectures d'échantillons? Je ne suis intéressé que par trois variables: horizontalAccuracy, speed et timestamp. –