iPhone LocationManager: problème de didFailWithError lorsque le GPS désactivé

voix
1

Donc, je l'ai suivi d'autres sujets connexes, mais pour une raison que je vais avoir encore cette erreur et je suis sur le prêt à arracher les cheveux. Je l'ai mis en œuvre LocationManager: didFailWithError pour vérifier et voir si un utilisateur sélectionne « Ne laissez pas les » utiliser l'emplacement actuel.

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

Cependant, l'erreur suivante apparaît toujours lorsque l'utilisateur sélectionne « Ne pas autoriser » ... il est étrange, en particulier l'ordre que le texte « ERREUR » apparaît.

ERREUR, Temps, 293420691.000, Fonction, CLClientHandleDaemonDataRegistration void (__ CLClient *, const CLDaemonCommToClientRegistration *, const __CFDictionary *), le serveur n'a pas accepté l'enregistrement du client 1 2010-04-19 21: 44: 51,000 testApp [1414: 207] ERREUR

Donc, il est sortie cette erreur avant même qu'il ait une chance d'entrer dans la fonction didFailWithError. Est-ce que quelqu'un a des idées de ce qui pourrait se produire? Le reste du code LocationManager est la suivante:

self.locationManager = [[[CLLocationManager alloc] init] autorelease];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyKilometer;
locationManager.distanceFilter = 2;  
[locationManager startUpdatingLocation];
Créé 20/04/2010 à 02:51
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
0

Si vous utilisez MapKit aussi bien, ceci est une erreur dans MapKit. MapKit enregistre avec Core Location, puis ne gère pas correctement l'erreur signalée lorsque l'utilisateur refuse la mise à jour de l'emplacement ou il échoue. Il devrait passer cette erreur via une méthode de délégué (comme il le fait pour les erreurs de géocodage), mais ne fonctionne pas.

Malheureusement, je ne peux pas penser à un moyen d'intercepter le message de l'emplacement de base, comme MapKit maintient une instance de CLLocationManager qu'il utilise pour obtenir l'emplacement, et qui est celui qui rapporte l'erreur à son délégué.

Créé 23/05/2010 à 08:58
source utilisateur

voix
0

On dirait juste un message d'information de base Localisation. Ce n'est pas écraser votre application, l'utilisateur ne voit pas et il ne remet toujours didFailWithError avec le code d'erreur correct.

Dans mes tests, le message apparaît sur le simulateur iPhone et le dispositif (3.1.3) et le simulateur iPad, mais pas l'appareil iPad (3,2).

Créé 20/04/2010 à 03:59
source utilisateur

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