84 votes

DidFailWithError : Erreur Domaine=kCLErrorDomain Code=0 "L'opération n'a pas pu être complétée. (Erreur de domaine kCLErrorDomain 0.)"

Je veux obtenir l'emplacement actuel, mais à la place j'obtiens une erreur.

Voici un extrait de mon contrôleur de vue.

- (void)viewDidLoad {
    self.locationManager = [[CLLocationManager alloc] init];
    [locationManager setDelegate:self];
    [locationManager setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters];
    [locationManager startUpdatingLocation];
}

- (void)locationManager:(CLLocationManager *)manager 
     didUpdateLocations:(NSArray *)locations {
    // Je devrais obtenir l'emplacement le plus récent ici
    // mais cette méthode n'est jamais appelée
}
- (void)locationManager:(CLLocationManager *)manager 
       didFailWithError:(NSError *)error {
    NSLog(@"didFailWithError: %@", error);
}

Je m'attends à ce que la méthode de délégué locationManager:didUpdateLocations: soit appelée, mais à la place, seule la méthode locationManager:didFailWithError: est appelée, et imprime ceci :

didFailWithError: Error Domain=kCLErrorDomain Code=0 "L'opération n'a pas pu être terminée. (erreur de domaine kCLErrorDomain 0.)"

0 votes

Vous pouvez utiliser une api google comme alternative. Référez-vous à ma réponse ici stackoverflow.com/a/40670608/2033377

0 votes

Aller au simulateur -> fonctionnalités -> emplacement -> Apple. si vous l'avez défini sur none, cela ne fonctionnera pas et affichera cette erreur. Je l'ai fait par accident

154voto

Shaf Khan Points 1545

Si vous utilisez le simulateur:

  1. Appuyez sur commande + majuscule + , dans Xcode pour ouvrir l'éditeur de schéma
  2. Sélectionnez le schéma de l'exécution
  3. Allez dans l'onglet Options
  4. Cochez ✅ Autoriser la simulation de localisation
  5. Sélectionnez une localisation par défaut dans le menu déroulant

Le choix de Aucun comme localisation par défaut pourrait être à l'origine du problème.

4 votes

Wow! Merci, j'ai poursuivi cela pendant des semaines. Mon application obligeait constamment mon iPad ou iPhone à se localiser à Londres, en Angleterre, et je ne pouvais pas comprendre pourquoi. J'ai désactivé cette option et le problème a disparu. Peut-être que cela avait du mal à capter la localisation et à ensuite changer la localisation en celle du Schème.

7 votes

A fonctionné pour moi, mais j'ai aussi dû faire Simulateur iOS > Réinitialiser le contenu et les réglages...

0 votes

Tu as parfaitement réussi pour moi.

111voto

MeM Points 346
  1. Vérifiez que vous avez effectivement une connexion WiFi et 3G valide

    ... si c'est le cas, alors :

  2. Allez dans les paramètres et réinitialisez vos services de localisation

  3. Réinitialisez vos paramètres réseau

Cela devrait régler ce problème. C'est lié au dispositif/réseau et non à l'application. C'est ennuyeux surtout si votre application dépend des services de localisation et que le dispositif est uniquement WiFi et que les gens donnent des évaluations négatives sur l'AppStore... Pardonnez-moi, je m'emballe un peu émotionnellement.

27voto

Ray Lillywhite Points 730

Ignorez simplement cette erreur et attendez plus de mises à jour ou une erreur différente.

La documentation du gestionnaire de localisation indique que cette erreur est temporaire. Elle vous informe qu'il n'a pas pu récupérer immédiatement une localisation, mais qu'il continue d'essayer. "Dans une telle situation, vous pouvez simplement ignorer l'erreur et attendre un nouvel événement." Ce qui est une façon vraiment stupide d'utiliser une méthode nommée locationManager:didFailWithError: - Merci Apple !

Documentation Apple

19voto

Ian Points 1129

Essayez de redémarrer le simulateur (si c'est ce que vous utilisez).

Après avoir tout essayé, cela a fonctionné pour moi.

14voto

Brandon O'Rourke Points 7509

Un redémarrage du simulateur n'a pas fonctionné pour moi.

J'ai dû tout effacer via "Simulateur iOS" >> "Réinitialiser le contenu et les réglages....

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X