Pregunta

Cuando instalo mi aplicación en el iPhone, solicita la ubicación actual con las opciones " No permitir " y " Ok " en alerta ¿Cómo puedo saber qué opción fue elegida? También quiero mostrar esta opción solo una vez. Si el usuario elige permitir que se encuentre su ubicación actual, quiero que el dispositivo obtenga automáticamente la ubicación en segundo plano.

¿Fue útil?

Solución

Si el usuario ha denegado el acceso al servicio de ubicación, se llama al método delegado de CLLocationManager didFailWithError: :

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

Otros consejos

Su controlador debe implementar el protocolo CLLocationManagerDelegate . Esto define dos métodos que necesitará implementar:

  1. - locationManager: didUpdateToLocation: fromLocation:
    En este método, usted pone su código para manejar las actualizaciones de ubicación.

  2. - locationManager: didFailWithError:
    En este método, usted coloca su código para manejar al usuario que niega su solicitud, o las actualizaciones fallan.

Una vez que el usuario le permita usar su ubicación, no se le pedirá que vuelva a aparecer a menos que salga de la aplicación. Sin embargo, no hay una manera de evitar que el teléfono avise a los usuarios cada vez que inician la aplicación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top