Получение результатов диалога разрешения местоположения - PullRequest
2 голосов
/ 01 ноября 2011

Я делаю этот урок , который возвращает координаты GPS. Когда я запускаю приложение на iPhone, мне сначала выдается UIAlertView, запрашивающий разрешение на доступ к моим GPS-координатам.

Мне нужно знать, откуда это UIAlertView брошено? Это из ОС? Можем ли мы захватить этот метод? Когда пользователь нажимает «Разрешить» или «Не разрешать», могу ли я распечатать его выбор на консоли?

Как я могу сделать это программно? Есть ли событие для этого?

Ответы [ 2 ]

3 голосов
/ 01 ноября 2011

Это предупреждение отображается ОС.Использование API на основе определения местоположения должно быть разрешено пользователем.Вы можете запросить у CLLocationManager текущий authorizationStatus и получить уведомление об изменении статуса (будет вызван метод делегата).Обратите внимание, что пользователь также может отключить службы определения местоположения позже в приложении настроек.

1 голос
/ 01 ноября 2011

Я предполагаю, что вы используете CLLocationManager.Ваш делегат получит locationManager: didChangeAuthorizationStatus, когда способность приложений использовать API изменится.

Редактировать: при первой попытке вашего приложения использовать службу пользователю будет предложено.Если пользователь ответит «Нет», ваше приложение не сможет использовать службу, если они не зайдут в «Настройки» -> «Основные» -> «Службы определения местоположения» и не изменят настройки для вашего приложения.

Если вы запрашиваете у API статус изапрещено, вы можете открыть свое собственное всплывающее окно и указать пользователю, как изменить настройки для вашего приложения.

...