Изменение настроек местоположения с "Всегда" на "при использовании" не приводит к продолжению отслеживания местоположения в фоновом режиме
Если пользователь меняет свои настройки местоположения
от "всегда" до "когда используется".
И не возвращается к приложению.Иногда я вижу синюю полосу, а иногда не вижу ее.
Если синяя полоса не отображается, мое приложение может быть удалено из памяти.
Единственное, что я делаю в своем didChangeAuthorization
Метод заключается в том, что если это не так restricted
, denied
, .notDetermined
тогда я звоню startUpdatingLocation()
,
Я знаю, я не могу сделать приложение startUpdatingLocation
пока это в фоновом режиме.
Но разве я не смогу продолжать это, когда я делаю это с "Всегда" на "когда используется"?! Это поведение, которое я не могу контролировать?
1 ответ
После нескольких раундов тестирования. С большой уверенностью могу сказать:
Если вы переключитесь на Никогда, ОС будет вызывать stopUpdatingLocation
через 10 секунд или меньше.
Поэтому, если до того, как вы дойдете до 10 секунд, вы переключитесь на "при использовании", вы увидите синюю полосу, и у вас все хорошо.
Если вы подождете 10-20 секунд, вы больше не увидите синюю полосу, потому чтоstopUpdatingLocation
называется. Чтобы снова начать отслеживать, вы должны вывести приложение на передний план, а затем оно снова начнет обновлять ваше местоположение.
Переключение между "Всегда" и "при использовании" никогда не должно приводить к остановке отслеживания вашего местоположения. Вероятно, это произошло из-за того, что я перешел в "Никогда" и остался более 10 секунд, затем переключился на "Всегда" и затем "при использовании", и я сделал все это - не открывая приложение, и подумал, что это потому, что я изменил с Всегда на "когда использовать. Так что это была ложная тревога.