Когда iPhone показывает значок твердого местоположения в строке состояния?

Я разрабатываю приложение, которое подписывается на значительные изменения местоположения пользователя, изменения посещения и изменения региона (геозоны). Тем не менее, я всегда вижу значок твердого местоположения в строке состояния. Глядя на настройки «Конфиденциальность-> Службы определения местоположения», я вижу, что недавно местоположение использовалось моим приложением и каким-то другим приложением.

Также, как только я установил для своего приложения разрешение на определение местоположения «Никогда», значок местоположения в строке состояния исчезает.

Мне интересно, вызывает ли подписка на значительные изменения местоположения, посещения и изменения региона iOS отображение значка Solid Location. На самом деле я сижу в своей комнате полдня, и в результате телефон не меняет местоположение, и я не ожидаю, что какое-либо событие изменения местоположения будет запущено. Каково точное условие, когда значок твердого местоположения отображается в строке состояния?

Я прочитал этот вопрос, но я думаю, что это не связано.


person Maksym Bondarenko    schedule 19.08.2017    source источник
comment
Сплошной значок означает, что приложение активно использует ваше местоположение; в вашем случае это будет из-за значительного мониторинга изменения местоположения. Двигаетесь вы или нет, это не повлияет на значок; ваше местоположение все еще определяется и доставляется в приложение.   -  person Paulw11    schedule 20.08.2017


Ответы (1)


Я хотел охватить все аспекты вашего вопроса, и я надеюсь, что вы не возражаете против длинного описательного ответа.

Уровни разрешений:

Никогда: пользователь отказывает приложению в разрешении на использование местоположения.

Во время использования: пользователь дал приложению разрешение на использование местоположения, когда оно используется. Это означает, что доступ к переднему плану и местоположению предоставляется приложению, пока пользователь активно его использует.

Всегда: пользователь разрешил приложению использовать местоположение в фоновом и переднем плане.

Главная стрелка указывает на использование местоположения:

Стрелка в правом верхнем углу перед индикатором уровня заряда батареи может иметь два оттенка.

  1. Пустой (выделенный) — указывает, что на телефоне есть приложения, использующие геозону.
  2. Сплошная стрелка — указывает на наличие одного или нескольких приложений, которые активно используют местоположение телефона, включая GPS. Сплошная стрелка отображается для приложений, работающих на переднем плане и в фоновом режиме.

Если ваше приложение использует мониторинг региона, оно получает делегированные обратные вызовы для событий входа и выхода. Это часто означает, что телефон отслеживается с помощью значительных изменений местоположения. Для мониторинга региона вам не нужно явно регистрироваться для получения обновлений местоположения, поскольку все это выполняется базовыми API.

Сплошная стрелка будет отображаться постоянно, если у вас есть регионы, которые находятся в непосредственной близости от телефона, по моим наблюдениям до 3 км. Расстояние непредсказуемо и в значительной степени зависит от географического положения телефона, но я заметил, что местоположение постоянно используется для запуска регионов, а затем ОС переключается обратно на мониторинг на основе значительных изменений, как только регион срабатывает или телефон много перемещается. дальше. Если это не так, проверьте реализацию делегата LocationManager, чтобы убедиться, что приложение не получает обновления чаще.

С другой стороны, если вы регистрируетесь для получения уведомлений о значительных изменениях местоположения, сплошная стрелка будет отображаться всякий раз, когда в приложение будут доставляться обновления местоположения.

Сплошные фиолетовые, сплошные серые и обведенные фиолетовые стрелки в настройках конфиденциальности отображаются напротив приложений и описаны на снимке экрана ниже.

сплошной фиолетовый, сплошной серый и контурные фиолетовые стрелки

person balendran    schedule 20.08.2017