Как получить ответ пользователя при запросе о расположении ядра?
-
06-07-2019 - |
Вопрос
Когда я устанавливаю свое приложение на 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: код>
В этом методе вы вводите код, который обрабатывает пользователя, отклонившего ваш запрос, или обновления не выполняются.
После того, как пользователь разрешит вам использовать свое местоположение, он не получит приглашения, если не выйдет из приложения. Тем не менее, нельзя запретить телефону запрашивать пользователей при каждом запуске приложения.