Я думаю, из документов вполне понятно, что эта функция паузы не работает так. Прежде всего, нет никакой гарантии, что аппаратное обеспечение GPS вообще остановится, это зависит от вида деятельности, а также от других действий в системе. До iOS можно решить, когда и если приостанавливать обновление местоположения, свойство является лишь подсказкой.
Что еще более важно, ваш вариант использования не будет работать, так как если он будет приостановлен, пользователю придется взаимодействуйте со своим приложением вручную, чтобы возобновить обновления.
Apple специально упоминает ваш случай и рекомендует снизить точность обновлений местоположения, чтобы использовать только триангуляцию вышек сотовой связи вместо GPS (см. документы выше).
Таким образом, вместо использования pausesLocationUpdatesAutomatically = true
, вы можете сделать desiredAccuracy = kCLLocationAccuracyThreeKilometers
.
По словам Apple,
[...] рассмотрите возможность отключения этого свойства и изменения точности местоположения на kCLLocationAccuracyThreeKilometers
когда ваше приложение перемещается в фоновый режим. Это позволяет вам продолжать получать обновления местоположения в режиме энергосбережения
Не распространяется ли это на ваш вариант использования?