Как определить, когда iOS выдает предупреждение «Включить службу определения местоположения»? - PullRequest
0 голосов
/ 30 мая 2019

В моем приложении это предупреждение отображается несколько раз.Аналогичная проблема: iOS: почему при запуске дважды отображается предупреждение «Включить службы определения местоположения»? .

Screenshot of alert

Как определитькогда iOS выводит предупреждение «Включить службу определения местоположения»?

Сценарий для просмотра двух предупреждений в приложении карты Google.

  1. Отключение служб определения местоположения устройства
  2. Установка приложения Google map из AppStore.(Если на вашем устройстве уже есть приложение Google map. Удалите существующее приложение с устройства и установите приложение из AppStore)
  3. Запустите приложение
  4. Появится упомянутое предупреждение
  5. Tap on "Отмена "
  6. Выйти из приложения
  7. Запустите приложение еще раз
  8. Упомянутое предупреждение появится снова.

Еще один сценарий, чтобы увидеть большеоповещение о двух в приложении Google map.

  1. Отключение служб определения местоположения устройства
  2. Установка приложения Google map из AppStore.(Если на вашем устройстве уже есть приложение Google map. Удалите существующее приложение с устройства и установите приложение из AppStore)
  3. Запустите приложение
  4. Появится упомянутое предупреждение
  5. Блокировка экрана
  6. Подождите 20 секунд (возможно, вам придется подождать дополнительное время, если на вашем устройстве больше оперативной памяти)
  7. Разблокируйте экран и немедленно выйдите из приложения (если вы не смогли выйти изприложение быстро, повторите с шага 5)
  8. Запустите приложение снова
  9. Появится упомянутое предупреждение
  10. Повторите с шага 5, чтобы снова и снова увидеть упомянутое предупреждение.

1 Ответ

0 голосов
/ 31 мая 2019

Я знаю, что это не очень хороший подход, но для решения проблемы он должен работать

if window.rootViewController?.childViewControllers.last?.isKind(of: UIAlertController){
//Do not show your alert  
    }
else{
//show your alert
}
...