Как получить ответ пользователя при запросе о расположении ядра?

StackOverflow https://stackoverflow.com/questions/1613712

Вопрос

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

Это было полезно?

Решение

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

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{
    if (error.code ==  kCLErrorDenied){
            // User denied access to location service       
    }
}

Другие советы

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

<Ол>
  • <код> & # 8211; locationManager: didUpdateToLocation: fromLocation:
    В этом методе вы помещаете свой код для обработки обновлений местоположения.

  • <код> & # 8211; locationManager: didFailWithError:
    В этом методе вы вводите код, который обрабатывает пользователя, отклонившего ваш запрос, или обновления не выполняются.

  • После того, как пользователь разрешит вам использовать свое местоположение, он не получит приглашения, если не выйдет из приложения. Тем не менее, нельзя запретить телефону запрашивать пользователей при каждом запуске приложения.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top