ios значительные изменения местоположения, UIBackgroundModes и запуск приложения после приостановки
РЕДАКТИРОВАТЬ:
Мое приложение должно распознавать значительные изменения местоположения и региона, когда на переднем плане, в фоновом режиме и когда приостановлено. Это работает, когда для allowBackgroundLocationUpdates задано значение true и UIBackgroundMode "location" установлен в Info.plist
В обзоре Apple пишет, что в моем приложении нет функции, которая требует постоянного отслеживания местоположения, и что "местоположение" UIBackgroundMode не требуется. И яблоко правильно, потому что мне нужно только значительное обнаружение / регион. Поэтому мы должны отключить UIBackgroundMode "location". Но когда я делаю это, я должен установить для allowBackgroundLocationUpdates значение false и повторный запуск отключен.
Как включить перезапуск при значительных изменениях местоположения и мониторинг региона без настройки UIBackgroundMode "location"?
Что я нашел в документации Apple:
обсуждение
Приложения, которые хотят получать обновления местоположения при приостановке, должны включить ключ UIBackgroundModes (со значением местоположения) в файл Info.plist своего приложения и установить для этого свойства значение true. Наличие ключа UIBackgroundModes со значением местоположения требуется для фоновых обновлений; вы используете это свойство для включения и отключения поведения в зависимости от поведения вашего приложения. Например, вы можете установить значение true только после того, как пользователь включит функции в вашем приложении, где требуются фоновые обновления.
Когда значение этого свойства равно false, приложения получают обновления местоположения в обычном режиме при работе на переднем или на заднем плане в зависимости от текущей авторизации. Обновления останавливаются только тогда, когда приложение приостановлено, тем самым предотвращая пробуждение приложения для обработки этих событий.
Значением по умолчанию этого свойства является false. Установка значения true, но пропуск ключа и местоположения UIBackgroundModes в файле Info.plist вашего приложения - ошибка программиста.
Обновление 16.10.2017
Я только что проверил это на реальном телефоне. А с параметром allowBackgroundLocationUpdates, установленным в false, приложение все равно перезапускается из режима ожидания на sdk11, ios 10.3.1. Это не так, как в документах, но моя проблема решена на данный момент. -