web-dev-qa-db-fra.com

Erreur du gestionnaire de localisation: (erreur 0 de KCLErrorDomain)

Location Manager Error : Operation could not be completed(KCLErrorDomain error 0)

Pourquoi cette erreur se produit?

84
Mike

Cette erreur se produit si vous avez coché Scheme/Edit Scheme/Options/Allow Location Simulation sans définir d'emplacement par défaut. Je suis sûr qu'il y a aussi d'autres causes.

150
Undistraction

METTRE À JOUR

THANKS TO Ben Marten Vous pouvez le rendre permanent en procédant comme suit dans XCode:

  1. Produit> Schéma> Edit Scheme
  2. Cliquez sur Exécuter .app
  3. Onglet Option
  4. Vous avez déjà coché Core Location> sélectionnez votre localisation
  5. Appuyer sur OK

En outre, même si vous n'êtes pas connecté au wifi, vous pouvez définir un emplacement dans le simulateur via les éléments du menu supérieur Debug>Location et pour le rendre permanent, suivez les étapes ci-dessus

location error in ios simulator

42
Vaibhav Saran

Je viens d'avoir ce problème. Il m'a fallu un certain temps pour trouver la solution, qui n'est que vaguement liée à la réponse de l'affiche précédente. 

Airport (WiFi) doit être activé pour que CoreLocation fonctionne dans le simulateur iPhone/iPad. J'étais connecté via Ethernet, donc CL n'a rien fait dans le simulateur. Activez Airport dans vos paramètres réseau et réessayez. Vous pouvez modifier l'ordre de vos interfaces réseau en faisant glisser Airport sous Ethernet si vous souhaitez continuer à privilégier votre connexion filaire à votre réseau sans fil ...

33
Meltemi

À partir de la documentation de l'API:

CLError

Codes d'erreur renvoyés par l'emplacement objet manager.

typedef enum {kCLErrorLocationUnknown = 0, kCLErrorDenied, kCLErrorNetwork, kCLErrorHeadingFailure} CLError;

Constantes

kCLErrorLocationUnknown L'emplacement le responsable n’a pas pu obtenir un valeur de localisation pour le moment. Disponible en iPhone OS 2.0 et versions ultérieures. Déclaré dans CLError.h.

kCLErrorDenied Accès à l'emplacement le service a été refusé par l'utilisateur . Disponible dans iPhone OS 2.0 et versions ultérieures . Déclaré dans CLError.h.

kCLErrorNetwork Le réseau était indisponible ou une erreur réseau eu lieu. Disponible dans iPhone OS 3.0b et ensuite. Déclaré dans CLError.h.

kCLErrorHeadingFailure L'en-tête n'a pas pu être déterminé. Disponible en iPhone OS 3.0 et versions ultérieures. Déclaré dans CLError.h.

Cela signifie donc que l'emplacement n'a pas pu être déterminé.

J'imagine que la cause la plus probable est que le gestionnaire de localisation utilise le WiFi pour trianguler l'emplacement et que la base de données ne couvre pas les réseaux locaux. Cela peut apparemment être corrigé par l'utilisateur s'il va ici .

Cependant, comme je l’ai indiqué, j’ai aussi parfois vu cela comme une erreur passagère lors de l’exécution d’un programme basé sur la localisation dans un lieu où les informations de localisation WiFi fonctionnent normalement.

Enfin, je suppose qu’il est possible de voir cette erreur s’il ya une défaillance matérielle.

12
frankodwyer

1) vérifiez que vous disposez bien d'une connexion WiFi et 3G valide

si tu le fais alors

2) allez dans les paramètres et réinitialisez vos services de localisation 3) réinitialisez vos paramètres réseau 

5
MeM

Cette erreur est générée lorsque Location Manager ne parvient pas à obtenir immédiatement les informations de localisation. J'ai constaté que cette erreur se produisait lorsque la méthode startUpdatingLocation a été appelée. Pour moi, cela se passait sur iPod mais pas sur iPhone. Cela a du sens, car l’iPhone dispose de plus de moyens (comme le réseau cellulaire) pour obtenir des informations de localisation et est en mesure d’obtenir une estimation rapide de la localisation, alors qu’iPod prend plus de temps, ce qui a provoqué la survenue de cette erreur sur iPod.

Étant donné que, lorsque cette erreur est générée, locationManager: didFailWithError: la méthode déléguée est appelée, il est possible de gérer ce cas spécifique dans une instruction conditionnelle en faisant correspondre "[domaine d'erreur]" et "[code d'erreur]" à partir de l'objet d'erreur transmis à cette méthode.

3
Vishal Chaudhry

La raison exacte de ce que j’ai constaté est qu’il existe un conflit entre la simulation d’emplacement dans les paramètres de débogage du simulateur ios et dans les paramètres de xcode «Éditer les schémas». l'autre à Aucun a résolu le problème en espérant que cela pourrait aider à coup sûr . InXcode: enter image description here

Dans le simulateur iphone/ipad: enter image description here

2
Super Xtreem

Si vous avez cela dans Emulator, suivez les instructions suivantes:

Debug > Location > ✓ Apple

 emulator instruction

1
Hitesh Chavda

Vous pouvez ajouter votre propre liste d'emplacements à Xcode pour tester vos applications.

À partir de Xcode, sélectionnez le menu Débogage/Simuler l’emplacement et vous recevrez:

a. "Don't Simulate Location"
b. 12 example locations
c. "Add GPX File to Project..."

Sélectionnez "Ajouter un fichier GPX au projet ..." et sélectionnez le fichier GPX que vous avez créé. 

1
Carl

Cette erreur se produit lorsque vous exécutez votre programme, mais vous simulez l'emplacement après l'exécution du programme.

J'ai une méthode: quittez votre simulateur et redémarrez-le, puis définissez l'emplacement de votre simulateur avant de lancer le programme, et cela fonctionne pour moi.

J'espère que cela t'aides! Cela m'a certainement aidé… .. merci….

1
Matiji66

Grâce à cet article ( https://possiblemobile.com/2013/04/using-xcode-to-to-location-services/ ), j'ai eu un indice pour consulter les données de mon fichier GPX personnalisé trouvé le problème.

Certains fichiers GPX provenant de sources différentes peuvent contenir les éléments suivants indiquant les différentes coordonnées dans le chemin spécifié. Cela ne fonctionnera pas avec la simulation de localisation de Xcode.

<gpx>
...
<trkpt lat="" lon="">
<ele></ele>
</trkpt>
...
</gpx>

Ce que vous devez faire est de rechercher toutes les occurrences de l'élément "trkpt" et de le remplacer par "wpt" dans votre éditeur de texte/xml préféré. Le résultat final devrait être quelque chose comme suit:

<gpx>
<wpt lat="" lon="">
<ele></ele>
</wpt>
...
</gpx>

J'espère que cela t'aides! Cela m'a certainement aidé.

0
Nino

tout cela n'a pas fonctionné pour moi .. Ce qui a fonctionné pour moi est le suivant: - définissez l'emplacement du simulateur sur none, puis modifiez-le pour revenir à custom emplacement pendant le fonctionnement de l'application.

0
DeyaEldeen

Sélectionnez Projet Xcode> Produit> Schéma> Schéma d'édition> Simulation d'emplacement de chek> Définissez votre emplacement> et relancez l'application. J'espère que cela fonctionnera!

0
Janisar

Toutes les suggestions n'ont pas aidé dans mon cas. Ce qui a aidé a été de désinstaller l'application du simulateur, de la réinstaller et de lui permettre d'accéder à l'emplacement (dans l'application Paramètres). 

0
Niklas D