iPhone locationManager: didFailWithError problém, když zakázán GPS

hlasů
1

Tak jsem následoval další související témata, ale z nějakého důvodu stále mám tuto chybu a jsem asi připraven trhat vlasy ven. Jsem implementoval locationManager: didFailWithError pro kontrolu a uvidíme, jestli si uživatel vybere ‚Nepovolit‘ používat aktuální polohu.

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

Nicméně, vždy se zobrazí následující chyba, když uživatel vybere ‚Nepovolit‘ ... je to divné, zejména pořadí, které se zobrazí text ‚omylem‘.

ERROR, Time, 293420691.000, funkce void CLClientHandleDaemonDataRegistration (__ CLClient * const CLDaemonCommToClientRegistration * const __CFDictionary *), server nepřijal registrace klienta 1 2010-04-19 21: 44: 51,000 testApp [1414: 207] omylem

Takže, je to výstup tuto chybu ještě před tím, než má šanci dostat se do funkce didFailWithError. Má někdo nějaké nápady, co by mohlo být pravda? Zbytek locationManager kódu je následující:

self.locationManager = [[[CLLocationManager alloc] init] autorelease];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
locationManager.distanceFilter = 2;  
[locationManager startUpdatingLocation];
Položena 20/04/2010 v 02:51
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
0

Pokud používáte MapKit stejně, se jedná o chybu v MapKit. MapKit se registruje jádra Místo, a pak není správně zacházet se hlášena chyba, když uživatel odmítne polohovou aktualizační nebo selže. To by mělo projít tuto chybu v pomocí metody delegáta (jako to dělá za chyby geokódování), ale není.

Bohužel nemohu přijít na žádný způsob, jak zachytit zprávu z místa jádra, jako MapKit udržuje instance CLLocationManager kterou využívá k získání místa, a to je ten, který hlásí chybu na své zástupce.

Odpovězeno 23/05/2010 v 08:58
zdroj uživatelem

hlasů
0

Vypadá to, že jen informační zprávy z jádra Umístění. Není to shazovat vaše aplikace, uživatel nebude vidět, a to ještě nazývat didFailWithError se správným kódem chyby.

V mých testů, na iPhone simulátoru a zařízení (3.1.3) a simulátoru iPad, ale ne iPad zařízení (3.2) se objeví zpráva.

Odpovězeno 20/04/2010 v 03:59
zdroj uživatelem

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