Внутренние GPS-антенны перестают работать сразу после вызова CLLocationManager stopUpdatingLocation

Вот мой сценарий. В моем приложении нет необходимости постоянно отслеживать местоположение пользователя, но мне нужно, чтобы местоположение было максимально точным. Поэтому я просто вызываю CLLocationManager startUpdatingLocation с kCLLocationAccuracyBestForNavigation, установленным как требуемое значение точности, и после того, как я получаю местоположение с желаемой точностью (сравнивая newLocation.hor HorizontalAccuracy с предопределенным значением), я хочу остановить обновление местоположения и отозвать обновление через несколько секунд. Но когда я вызываю stopUpdatingLocation, значок местоположения в строке состояния исчезает примерно через 10 секунд, означает ли это, что Apple рассмотрела этот сценарий, когда пользователь вызывает stopUpdatingLocation, он не отключает антенны в течение некоторого периода времени, возможно, из-за их возврата назад Это несколько дорого с точки зрения энергии, поэтому они просто ждут некоторое время и только после этого отключают антенны. Или может быть просто значок местоположения не исчез, но антенны выключены. Так может кто-то объяснить, что происходит, когда кто-то вызывает stopUpdatingLocation?

1 ответ

Решение

Радиостанции GPS отключаются через 10 секунд после последнего использования. Это обсуждалось на одном из сеансов оптимизации производительности на WWDC.

Другие вопросы по тегам