Разрешение на маяки и местоположение пользователя

Я только что закончил разработку приложения, которое взаимодействует с Beacons и User location.

Я запрашиваю для locationManager разрешение requestAlwaysAuthorization, и я добавил в описание свойства NSLocationAlwaysUsageDescription для plist мое описание; все работает отлично!!!

Я понял, что: если пользователь не принимает запрошенное разрешение, iOS всегда и везде отключает локализацию, что очень ограничивает использование приложения.

Я желаю, чтобы, если пользователь отклоняет запрос Всегда Авторизация автоматически запрашивается запрос При разрешении Использования Авторизации!

Это возможно с каким-то нативным методом, или я должен обработать запрос на другое разрешение?

Спасибо всем!

РЕДАКТИРОВАТЬ: Как приложения, такие как Shazam или Facebook, имеют три варианта "Никогда","Когда используется" и "Всегда" в настройках местоположения? Наверняка есть способ представить их пользователю?!?!

1 ответ

Вы не можете сделать это. В случае сомнений всегда обращайтесь к документации Apple.

https://developer.apple.com/library/ios/documentation/CoreLocation/Reference/CLLocationManager_Class/index.html

После requestAlwaysAuthorization закончен (пользователь принят / отклонен), статус изменен на эфир kCLAuthorizationStatusDenied или же kCLAuthorizationStatusAuthorized (или какой-то другой, не имеет значения).

Кроме того, оба requestAlwaysAuthorization а также requestWhenInUseAuthorization оба имеют такую ​​логику (описано в документации)

Если текущий статус авторизации отличается от kCLAuthorizationStatusNotDetermined, этот метод ничего не делает и не вызывает locationManager:didChangeAuthorizationStatus: method.`

Если пользователь отрицает requestAlwaysAuthorization статус изменен на kCLAuthorizationStatusDenied и оба запроса авторизации будут игнорироваться в будущем.

Другие вопросы по тегам