iPhone locationManager: problema didFailWithError atunci când sistemul GPS dezactivat

voturi
1

Deci, am urmat alte fire asemănătoare, dar din anumite motive încă am această eroare și sunt gata să se rupă parul meu afară. Am implementat locationManager: didFailWithError pentru a verifica și de a vedea dacă un utilizator selectează „Nu se permite“ să utilizeze locația curentă.

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

Cu toate acestea, următoarea eroare apare întotdeauna atunci când utilizatorul selectează „Nu se permite“ ... e ciudat, mai ales ordinea în care apare textul „din greșeală“.

EROARE, Timp, 293420691.000, Function, void CLClientHandleDaemonDataRegistration (__ CLClient *, const CLDaemonCommToClientRegistration *, const __CFDictionary *), serverul nu a acceptat de înregistrare client 1 2010-04-19 21: 44: 51.000 testApp [1414: 207] IN EROARE

Deci, se scoate această eroare, chiar înainte de a fi o sansa de a intra în funcția de didFailWithError. Are cineva vreo idee despre ce s-ar putea întâmpla? Restul codului locationManager este după cum urmează:

self.locationManager = [[[CLLocationManager alloc] init] autorelease];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
locationManager.distanceFilter = 2;  
[locationManager startUpdatingLocation];
Întrebat 20/04/2010 la 02:51
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
0

Dacă utilizați MapKit, de asemenea, aceasta este o eroare în MapKit. MapKit înregistrează cu Core Locul de amplasare, și apoi nu se manipulează în mod corespunzător a raportat eroarea atunci când utilizatorul respinge actualizarea locației sau eșuează. Ar trebui să treacă această eroare printr-o metodă delegat (așa cum o face pentru erori geocoding), dar nu.

Din păcate, nu pot gândi la nici un fel de a intercepta mesajul de bază de locație, după cum susține MapKit un exemplu de CLLocationManager pe care le folosește pentru a obține locația, și asta e cea care raportează eroarea la delegatul său.

Publicat 23/05/2010 la 08:58
sursa de către utilizator

voturi
0

Se pare că doar un mesaj de informare de la Core Localizare. Nu Cedează aplicația, utilizatorul nu va vedea și face apel încă didFailWithError cu codul de eroare corect.

În testele mele, mesajul apare pe simulatorul iPhone și dispozitivul (3.1.3) și simulatorul iPad, dar nu și dispozitivul iPad (3.2).

Publicat 20/04/2010 la 03:59
sursa de către utilizator

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