Разрешение на маяки и местоположение пользователя
Я только что закончил разработку приложения, которое взаимодействует с Beacons и User location.
Я запрашиваю для locationManager разрешение requestAlwaysAuthorization, и я добавил в описание свойства NSLocationAlwaysUsageDescription для plist мое описание; все работает отлично!!!
Я понял, что: если пользователь не принимает запрошенное разрешение, iOS всегда и везде отключает локализацию, что очень ограничивает использование приложения.
Я желаю, чтобы, если пользователь отклоняет запрос Всегда Авторизация автоматически запрашивается запрос При разрешении Использования Авторизации!
Это возможно с каким-то нативным методом, или я должен обработать запрос на другое разрешение?
Спасибо всем!
РЕДАКТИРОВАТЬ: Как приложения, такие как Shazam или Facebook, имеют три варианта "Никогда","Когда используется" и "Всегда" в настройках местоположения? Наверняка есть способ представить их пользователю?!?!
1 ответ
Вы не можете сделать это. В случае сомнений всегда обращайтесь к документации Apple.
После requestAlwaysAuthorization
закончен (пользователь принят / отклонен), статус изменен на эфир kCLAuthorizationStatusDenied
или же kCLAuthorizationStatusAuthorized
(или какой-то другой, не имеет значения).
Кроме того, оба requestAlwaysAuthorization
а также requestWhenInUseAuthorization
оба имеют такую логику (описано в документации)
Если текущий статус авторизации отличается от kCLAuthorizationStatusNotDetermined, этот метод ничего не делает и не вызывает locationManager:didChangeAuthorizationStatus: method.`
Если пользователь отрицает requestAlwaysAuthorization
статус изменен на kCLAuthorizationStatusDenied
и оба запроса авторизации будут игнорироваться в будущем.