Может ли приложение в iOS 8 получить доступ к службам определения местоположения, даже если оно не запущено?

У меня установлено приложение Коля на моем iPhone под управлением iOS 8.1. Я замечаю, что всякий раз, когда я включаю доступ к местоположению для этого конкретного приложения, оно немедленно начинает пинговать мое местоположение, основываясь на значке служб определения местоположения в строке состояния и фиолетовом значке служб определения местоположения рядом с приложением в настройках. Это происходит, даже если приложение не запущено, и у меня отключено обновление фонового приложения для этого приложения, хотя это не имеет значения, поскольку оно даже не работает в фоновом режиме.

Это ожидаемое поведение? Если да, есть ли способ включить доступ к местоположению только тогда, когда я запускаю приложение?

Ответы (1)

Само приложение должно поддерживать параметр «При использовании приложения». Если это не так, то, как вы уже поняли, у вас есть единственные варианты: «Всегда» или «Никогда».

Предположительно, вы хотели бы разрешить этому приложению доступ к вашему местоположению только для напоминаний типа геозоны (например, предложений). Если это так, вам нужно выбрать «Всегда», и вы в некоторой степени зависите от приложения в отношении того, как часто оно получает ваше местоположение и как оно используется. Приложения iOS 8, даже если они завершены и даже с отключенным фоновым обновлением приложения, могут по-прежнему получать определенные события службы определения местоположения, доставляемые им iOS:

  • услуга существенного изменения местоположения
  • служба мониторинга региона
  • посетить сервис

Единственный другой вариант — запретить приложению определять местоположение с помощью «Никогда».

Ссылка на Apple Core Location Manager находится здесь: https://developer.apple.com/library/ios/documentation/CoreLocation/Reference/CLLocationManager_Class/index.html .