Есть ли способ установить так, чтобы CLLocation не обновлялся слишком часто?
Очевидно, мне нужно точно обновить. Однако, я думаю, не чаще, чем раз в 1 минуту.
2 ответа
Посмотрите пример использования CLLocationManager и класса обработчика, чтобы сделать то, что вы просите. Вместо таймера он настраивает обработчик для ответа на полученные события местоположения, проверяет точность и время, прошедшее с момента предыдущего события, а затем отправляет уведомление в соответствии с вашими требованиями.
Частота ваших ответных действий настраивается так часто, как вам требуется.
Он работает в фоновом режиме, с опциями конфигурации экономии заряда батареи.
Смотрите код здесь TTLocationHandler
Вы также можете извлечь пользу из некоторых обсуждений в этой ветке вопросов. Вызывать текущие координаты каждые несколько секунд без NSTimer.
После того, как вы обновите позицию, вы можете:
- Отключить обновление
- Запустите таймер примерно на 1 минуту
- Таймер включает обновление
Готово.