didFailWithError: Erreur de Domaine=kCLErrorDomain Code=0“. L'opération ne pouvait pas être complété. (kCLErrorDomain erreur 0.)”
Je veux obtenir l'emplacement actuel, mais au lieu de cela, j'obtiens une erreur.
Ceci est un extrait de mon point de vue contrôleur.
- (void)viewDidLoad {
self.locationManager = [[CLLocationManager alloc] init];
[locationManager setDelegate:self];
[locationManager setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters];
[locationManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateLocations:(NSArray<CLLocation *> *)locations {
//I would get the latest location here
//but this method never gets called
}
- (void)locationManager:(CLLocationManager *)manager
didFailWithError:(NSError *)error {
NSLog(@"didFailWithError: %@", error);
}
J'attends la méthode du délégué locationManager:didUpdateLocations:
d'appelés, mais au lieu de cela, seulement locationManager:didFailWithError:
est appelée, et imprime ce:
didFailWithError: Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed. (kCLErrorDomain error 0.)"
- Vous pouvez utiliser une api de google comme une alternative. Consulter ma réponse ici stackoverflow.com/a/40670608/2033377
Vous devez vous connecter pour publier un commentaire.
Vérifiez que vous avez réellement valable, le WiFi et la 3G connexion
...si vous le faites, alors:
Accédez à paramètres, puis réinitialiser votre service de localisation
Cela devrait prendre soin de ce problème. C'est le dispositif/un réseau lié pas d'application connexes. C'est agaçant, surtout si votre application dépend de la localisation des services et l'appareil est uniquement WiFi et les gens donnent des cotes négatives sur l'AppStore... excusez-moi, je suis un peu émotive là.
Si vous utilisez le simulateur:
command + shift + ,
dans Xcode pour ouvrir l'éditeur de schémaAllow Location Simulation
Sélection
None
que votre Emplacement par Défaut peut avoir causé le problème.iOS Simulator
>Reset Content and Settings...
Simplement ignorer cette erreur et d'attendre plus de mises à jour ou d'une autre erreur.
Les docs pour l'emplacement du gestionnaire de dire que cette erreur est temporaire. C'est vous laisser savoir qu'il a échoué à récupérer immédiatement un emplacement, mais il continue d'essayer. "Dans une telle situation, vous pouvez tout simplement ignorer l'erreur et d'attendre pour un nouvel événement." Ce qui est vraiment un boneheaded façon d'utiliser une méthode nommée
locationManager:didFailWithError:
- Merci Apple!dans la Documentation d'Apple
Essayez de redémarrer le simulateur (en supposant que ce que vous utilisez).
Après avoir essayé tout le reste cela a fonctionné pour moi.
Un redémarrage du simulateur ne fonctionne pas pour moi.
J'ai été faire cette erreur sur le simulateur. En cliquant sur le bouton d'emplacement dans le panneau de débogage et réglage d'un emplacement fixe le problème pour moi. (S'assurer que le bouton est bleu)
J'ai le même problème. Je crois que les explications possibles /réparations sont couvertes dans ce post.
La modification de la "Localisation" sur le simulateur a fonctionné pour moi.
En supposant que vous utilisez le simulateur, vous pouvez à
Debug -> Location
et définir un emplacement.Si vous n'avez pas sélectionné, vous aurez cette erreur.
Si vous utilisez un
custom location
assurez-vous d'avoir un long et lat de la bonne façon, je l'avais inversé et le gaspillage de 3 heures avant de comprendre...J'ai voir le problème avant,il y a un moyen de le résoudre,mais il ne peut travailler qu'une seule fois.Si vous souhaitez exécuter le projet de nouveau et vous avez besoin de répéter la solution à chaque fois.
Les questions de ce genre peuvent être résolus par la mise en emplacement comme "
Apple
". Au moins il travaille pour objectif de test.à partir de la réponse de @Mem et beaucoup d'autres grâce
Pour le retour des devs 🙂 il suffit de sélectionner "
Debug->Location->Freeway Drive
" à partir du menu Simulator. Si toujours problème essayez ensuite après avoir fait "Simulateur->Réinitialiser le Contenu et les Paramètres" forme le simulateur de menu. Cela m'a aidé une fois avec le même problème. Certains simulateur d'emplacement est réglé sur "Custom location
" en raison de laquelle ses pas détecter quoi que ce soit.Si vous utilisez le Simulateur, assurez-vous que le système permet la localisation, et vous avez choisi un emplacement par défaut.
Essayer dans le dispositif. Parfois, le simulateur ne prend pas de votre emplacement.
Aller à la maison dans le simulateur de
maison ->Paramètres ->vie privée ->les Emplacements -> sélectionnez l'application et de choisir toujours
lors de l'ajout de la permission de la vie privée - l'Emplacement Lors De l'Utilisation, une Description de l'Utilisation de l'info.plist il a été résolu pour moi