Как получить ответ пользователя при запросе о расположении ядра? - PullRequest
1 голос
/ 23 октября 2009

Когда я устанавливаю свое приложение на iPhone, оно запрашивает текущее местоположение с опциями «Не разрешать» и «ОК» в предупреждении. Как узнать, какой вариант был выбран? Я также хочу показать эту опцию только один раз. Если пользователь выберет разрешение на обнаружение своего текущего местоположения, я хочу, чтобы устройство автоматически получало местоположение в фоновом режиме.

Ответы [ 2 ]

7 голосов
/ 23 октября 2009

Если пользователю отказано в доступе к службе определения местоположения, вызывается метод делегата CLLocationManager didFailWithError::

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{
    if (error.code ==  kCLErrorDenied){
            // User denied access to location service       
    }
}
0 голосов
/ 23 октября 2009

Ваш контроллер должен реализовывать протокол CLLocationManagerDelegate. Это определяет два метода, которые вам нужно будет реализовать:

  1. – locationManager:didUpdateToLocation:fromLocation:
    В этом методе вы помещаете свой код для обработки обновлений местоположения.

  2. – locationManager:didFailWithError:
    В этом методе вы вводите код, который обрабатывает пользователя, отклонившего ваш запрос, или обновления не выполняются.

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

...