iPhone locationManager: didFailWithError probleem wanneer GPS uitgeschakeld

stemmen
1

Dus, ik heb andere verwante threads gevolgd, maar voor sommige reden dat ik ben nog steeds deze fout en ik ben bijna klaar om mijn haar te scheuren. Ik heb geïmplementeerd locationManager: didFailWithError te controleren en te zien of een gebruiker selecteert 'Niet toestaan' om de huidige locatie te gebruiken.

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

Echter, wordt het volgende foutbericht altijd wanneer de gebruiker 'Niet toestaan' ... het is vreemd, in het bijzonder de volgorde waarin de tekst 'IN ERROR' verschijnt.

FOUT, Time, 293420691.000, functie, leegte CLClientHandleDaemonDataRegistration (__ CLClient *, const CLDaemonCommToClientRegistration *, const __CFDictionary *), server niet akkoord clientregistratie 1 2010-04-19 21: 44: 51.000 testapp [1414: 207] IN ERROR

Dus het uitvoeren van deze fout nog voordat het een kans heeft om in de didFailWithError functie. Heeft iemand enig idee van wat er zou kunnen gebeuren? De rest van de locationManager code is als volgt:

self.locationManager = [[[CLLocationManager alloc] init] autorelease];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
locationManager.distanceFilter = 2;  
[locationManager startUpdatingLocation];
De vraag is gesteld op 20/04/2010 om 02:51
bron van user
In andere talen...                            


2 antwoorden

stemmen
0

Als u gebruik maakt MapKit zo goed, dit is een fout in MapKit. MapKit registreert met Core Location, en vervolgens niet goed omgaan met de fout gerapporteerd wanneer de gebruiker de locatie-update verwerpt of het mislukt. Moet deze fout doorgeven via een gedelegeerde methode (zoals voor geocoderingsfouten), maar niet.

Helaas kan ik niet denken aan een manier om de boodschap vanuit de kern van locatie te onderscheppen, als MapKit onderhoudt een voorbeeld van CLLocationManager die hij gebruikt om de locatie te krijgen, en dat is degene die is de rapportage van de fout voor zijn afgevaardigde.

antwoordde op 23/05/2010 om 08:58
bron van user

stemmen
0

Het lijkt erop dat slechts een informatief bericht van Core Location. Het is niet crashen van uw app, zal de gebruiker niet zien en het werkt nog steeds didFailWithError bellen met de juiste foutcode.

In mijn tests, verschijnt het bericht op de iPhone simulator en het apparaat (3.1.3) en de iPad simulator, maar niet de iPad apparaat (3.2).

antwoordde op 20/04/2010 om 03:59
bron van user

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