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

3voto

Rodrigo Gonzalez Points 593

En supposant que vous utilisez le simulateur, vous pouvez aller à Debug -> Location et définir un emplacement.

Si vous n'en avez aucun sélectionné, vous aurez cette erreur.

3voto

Joe Maher Points 2940

Si vous utilisez un emplacement personnalisé, assurez-vous d'avoir la longitude et la latitude correctement renseignées, je les avais inversées et j'ai perdu 3 heures avant de m'en rendre compte...

3voto

HsuChihYung Points 109

J'ai vu le problème avant, il y a une façon de le résoudre, mais cela ne fonctionne qu'une seule fois. Si vous souhaitez exécuter à nouveau le projet, vous devrez répéter la solution à chaque fois.

1. Dans Xcode, Product -> Scheme -> Modifier le schéma, puis annulez l'option "Autoriser la simulation de localisation".

2. Dans le simulateur iOS, réinitialisez le contenu et les réglages.

3. De nouveau dans Xcode, répétez la première étape.

4. Dans le simulateur iOS, réinitialisez. Ensuite, cela fonctionnera.

1voto

Pandurang Yachwad Points 744

Des problèmes comme celui-ci peuvent être résolus en définissant l'emplacement comme "Apple". Au moins, cela fonctionne à des fins de test.

1voto

Arpit B Parekh Points 1100
  1. J'ai réinitialisé le contenu et les paramètres.
  2. Supprimé les données des données dérivées.
  3. Redémarré Xcode et le simulateur et ça a fonctionné pour moi.

de la réponse de @Mem et de nombreux autres merci

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