iPhone locationManager: didFailWithError problema cuando el GPS desactivados

votos
1

Por lo tanto, he seguido otros temas relacionados, pero por alguna razón sigo teniendo este error y estoy a punto listo para rasgar mi pelo. He implementado locationManager: didFailWithError para comprobar y ver si un usuario selecciona 'No permita que' para utilizar la ubicación actual.

-(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error {
NSLog(@IN ERROR);
if ([error code] == kCLErrorDenied){  
 [manager stopUpdatingLocation];
 }
}

Sin embargo, el error siguiente aparece siempre cuando el usuario selecciona 'No permitir' ... es extraño, sobre todo el fin de que el texto 'por error' aparece.

ERROR, Tiempo, 293420691.000, función, vacío CLClientHandleDaemonDataRegistration (__ CLClient *, const CLDaemonCommToClientRegistration *, const __CFDictionary *), el servidor no acepta el registro del cliente 1 2010-04-19 21: 44: 51.000 testApp [1414: 207] EN ERROR

Por lo tanto, es dar salida a este error, incluso antes de que tenga la oportunidad de entrar en la función didFailWithError. ¿Alguien tiene alguna idea de lo que podría estar sucediendo? El resto del código locationManager es el siguiente:

self.locationManager = [[[CLLocationManager alloc] init] autorelease];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
locationManager.distanceFilter = 2;  
[locationManager startUpdatingLocation];
Publicado el 20/04/2010 a las 02:51
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
0

Si está utilizando MapKit así, se trata de un error en MapKit. MapKit se está registrando en Core Location, y luego no trata correctamente informó el error cuando el usuario rechaza la actualización de ubicación o se produce un error. Debe pasar este error por medio de un método delegado (como lo hace para los errores de codificación geográfica), pero no lo hace.

Por desgracia, no se me ocurre ninguna manera de interceptar el mensaje desde la ubicación central, como MapKit mantiene una instancia de CLLocationManager que utiliza para obtener la ubicación, y que es el que se notifica el error a su delegado.

Respondida el 23/05/2010 a las 08:58
fuente por usuario

votos
0

Parece que sólo un mensaje informativo de Core Location. No es bloquear su aplicación, el usuario no lo verá y lo hace todavía llamar didFailWithError con el código de error correcto.

En mis pruebas, el mensaje aparece en el simulador de iPhone y el dispositivo (3.1.3) y el simulador de iPad, pero no el dispositivo iPad (3.2).

Respondida el 20/04/2010 a las 03:59
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more