DidEnterRegion вызывается только в том случае, если вызывается requestAlwaysAuthorization. маяки
didEnterRegion
а также didExitRegion
вызываются только после того, как я запросил и разрешил Always Authorization для CoreLocation
Даже если я запрашиваю WhenInUseAuthorization, didExit и didEnter не будут вызываться
Как я должен активировать ранжирование маяков, если я не могу заставить это называться?
Какие-либо решения?
ОБНОВИТЬ
Apple отклонила мое приложение для вызова requestAlwaysAuthorization()
Вот мой вопрос, представленный команде по оценке сегодня утром:
Для мониторинга областей маяков (основная функция маяков используется во многих приложениях, включая некоторые приложения Apple), необходимо, чтобы пользователь разрешил приложению получать доступ к местоположению, даже если оно не используется. Я использую.requestAlwaysAuthorization, чтобы включить маяки для мониторинга в фоновом режиме. Почему это не будет разрешено?
Ответ яблок сегодня днем на iTunes Connect:
Спасибо за ваш отзыв. Однако расположение фона не обязательно для функциональности iBeacon. Поэтому перед повторной передачей необходимо удалить фоновое местоположение.
Таким образом, если маяки должны автоматически контролировать регионы в фоновом режиме, но я не могу просить разрешения для фонового мониторинга, и маяки не будут мониторить в фоновом режиме, пока я не получу разрешение, как тогда я должен контролировать регионы в фоновом режиме?
3 ответа
Вы имеете в виду, когда приложение находится в фоновом режиме? Если это так, то это правда, что didEnterRegion
а также didExitRegion
не вызывать только с помощью InInInseAuthorization. Они будут вызываться только тогда, когда ваше приложение находится на переднем плане и вы входите / выходите из региона
расположение фона не обязательно для функциональности iBeacon. Поэтому перед повторной передачей необходимо удалить фоновое местоположение.
Похоже, что ваше приложение было отклонено из-за фоновых режимов (в частности, режима "обновления местоположения"), а не "всегда" авторизации. Вам не нужны никакие фоновые режимы, чтобы мониторинг маяков работал в фоновом режиме, достаточно "всегда" авторизации.
Просто отключите фоновые режимы в настройках вашего проекта, и все будет хорошо!
К сожалению, вы должны запросить Always Allow
Локация доступа для использования региона мониторинга с маяками.
Из документов:
Важный
Приложения должны всегда иметь полномочия на использование мониторинга региона, и они должны быть настроены на запуск фонового режима обновлений местоположения.
https://developer.apple.com/documentation/corelocation/determining_the_proximity_to_an_ibeacon