2016-09-22 7 views
1

Я ищу какое-то решение для решения проблемы: Если я использую locationManager.requestAlwaysAuthorization(), значок статуса отображается в строке состояния и никогда не исчезает, это проблема - пользователь может подумать, что мое приложение сбрасывает аккумулятор, но это не так.Не показывать значок службы местоположения в строке состояния, но по-прежнему использовать обновления фона

Так что, когда я использую .requestWhenInUseAuthorization() Я не могу позвонить didUpdateLocations функции для обновления местоположения, даже если я добавляю фоновое обновление fetch, #selector не позволяет вызвать этот метод.

Я хочу, чтобы мое приложение получало обновления местоположения в фоновом режиме, не показывая значок местоположения в строке состояния. Как обновить местоположение путем извлечения?

ответ

0

Так что, когда я использую .requestWhenInUseAuthorization() Я не могу назвать didUpdateLocations функционировать

Да вы можете. Если вы перейдете в фоновый режим при обновлении местоположений, вы можете продолжить обновление местоположений. То, что вы не можете сделать, это начало обновление мест с заднего фона.

Я хочу, чтобы мое приложение получать обновления местоположения в фоновом режиме

Используй отложенные обновлений местоположения или мониторинг местоположения. Это позволит свести к минимуму использование датчиков. В противном случае впечатление пользователя, что вы используете аккумулятор в фоновом режиме, полностью оправдано.

+0

«мониторинг местоположения» использует регионы, которые работают только с .requestAlwaysAuthorization() –

+0

Но значок местоположения не отображается в строке состояния, связанной с вашим приложением, и это вопрос, который вы задали. – matt