Beacons y permiso de location del usuario

Acabo de terminar de desarrollar una aplicación que interactúa con las balizas y la location del usuario.

Solicito el gestor de location el permiso requestAlwaysAuthorization y agregué en la propiedad pls NSLocationAlwaysUsageDescription con mi descripción; todo funciona perfectamente !!!

Me di count de que: si un usuario no acepta el permiso solicitado, iOS deshabilita la localización siempre y cuando está en uso, lo que limita el uso de la aplicación.

Ojalá que si un usuario rechaza la request Siempre Autorización se le pide automáticamente que solicite permiso cuando se utiliza.

Esto es posible con algún método nativo o tengo que manejar la request de otro permiso?

¡Gracias a todos!

EDITAR: ¿Cómo las aplicaciones como Shazam o Facebook tienen tres opciones "Nunca", "Cuando está en uso" y "Siempre" en la configuration de location? Seguramente hay una forma de presentarlos al usuario?!?!

No puedes hacer eso En caso de duda, siempre diríjase a la documentation de Apple.

https://developer.apple.com/library/ios/documentation/CoreLocation/Reference/CLLocationManager_Class/index.html#//apple_ref/occ/instm/CLLocationManager/requestAlwaysAuthorization

Después de la requestAlwaysAuthorization se termina la autorización (el usuario acepta / niega), el estado cambia a ether kCLAuthorizationStatusDenied o kCLAuthorizationStatusAuthorized (u otro, no importa).

Además, tanto requestAlwaysAuthorization y requestWhenInUseAuthorization tienen tal lógica (descrita en la documentation)

Si el estado actual de la autorización es distinto de kCLAuthorizationStatusNotDetermined, este método no hace nada y no llama a locationManager: didChangeAuthorizationStatus: method.`

Si el usuario niega la request, siempre se autoriza el estado se cambia a kCLAuthorizationStatusDenied y ambas autorizaciones de request serán ignoradas en el futuro.