iPhone locationManager: problema didFailWithError quando il GPS disabilitati

voti
1

Così, ho seguito altri thread correlati, ma per qualche motivo ho ancora questo errore e io sono quasi pronto a strappare i miei capelli. Ho implementato locationManager: didFailWithError per controllare e vedere se un utente seleziona 'non consentono' di utilizzare la posizione corrente.

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

Tuttavia, il seguente errore compare sempre quando l'utente seleziona 'non consentono' ... è strano, soprattutto l'ordine che il testo 'IN ERRORE' appare.

ERRORE, Tempo, 293420691.000, funzione, vuoto CLClientHandleDaemonDataRegistration (__ CLClient *, const CLDaemonCommToClientRegistration *, const __CFDictionary *), il server non ha accettato la registrazione del client 1 2010-04-19 21: 44: 51.000 testApp [1414: 207] IN ERRORE

Quindi, è l'output di questo errore anche prima che abbia la possibilità di entrare in funzione didFailWithError. Qualcuno ha qualche idea di ciò che potrebbe accadere? Il resto del codice locationManager è il seguente:

self.locationManager = [[[CLLocationManager alloc] init] autorelease];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
locationManager.distanceFilter = 2;  
[locationManager startUpdatingLocation];
È pubblicato 20/04/2010 alle 02:51
fonte dall'utente
In altre lingue...                            


2 risposte

voti
0

Se stai usando MapKit così, questo è un errore nella MapKit. MapKit sta registrando con Core Location, e quindi non adeguatamente gestire l'errore segnalato quando l'utente rifiuta l'aggiornamento ubicazione o fallisce. Dovrebbe passare questo errore tramite un metodo delegato (come avviene per errori di geocodifica), ma non lo fa.

Purtroppo non riesco a pensare a un modo per intercettare il messaggio dalla posizione centrale, come MapKit mantiene un'istanza CLLocationManager che utilizza per ottenere la posizione, e questo è quello che segnala l'errore al suo delegato.

Risposto il 23/05/2010 a 08:58
fonte dall'utente

voti
0

Sembra solo un messaggio informativo dal Core Location. Non è schiantarsi la vostra applicazione, l'utente non vedrà e lo fa ancora chiamare didFailWithError con il codice di errore corretto.

Nel mio test, viene visualizzato il messaggio sul simulatore iPhone e dispositivi (3.1.3) e il simulatore di iPad, ma non il dispositivo iPad (3.2).

Risposto il 20/04/2010 a 03:59
fonte dall'utente

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