web-dev-qa-db-fra.com

Échec de CLLocationManager sur iPhone Simulator avec kCLErrorDomain Code = 0

CLLocationManager sur iPhone Simulator est supposé simuler Cupertino (n'est-ce pas?), mais PAS, il échoue avec kCLErrorDomain Code=0 à la place. Le délégué de LocationManager reçoit le message didFailWithError. Cette méthode est implémentée pour consigner l'erreur et la console génère les éléments suivants:

Error Domain=kCLErrorDomain Code=0 "The operation couldn’t be completed. (kCLErrorDomain error 0.)"

Je travaillais sur un projet réel lorsque j'ai rencontré ce problème, mais il est inutile de discuter de mon code car j'ai téléchargé le code exemple "Emplacements" (mis à jour le 2010-06-22 pour iOS 4) à partir du centre de développement et le problème a persisté.

L'application est proposée pour activer un bouton "ajouter" quand elle reçoit la première mise à jour d'emplacement pour que les utilisateurs puissent suivre leurs emplacements mais cela ne fait rien.

J'ai ajouté une ligne (triviale) à l'implémentation de didFailWithError pour consigner les erreurs éventuelles. Je reçois l'erreur décrite ci-dessus.

Avec Xcode 3.2.2 et le ciblage 3.1.3, je pouvais obtenir un emplacement fixe (Cupertino) lors de l’exécution d’une version plus ancienne du projet "Emplacements".

Quelqu'un peut aider?

Merci.

41
albertamg

CLLocationManager a recommencé à fonctionner comme prévu sur le iOS Simulator 5.0 .

D'après mon expérience, il échouait régulièrement avec kCLErrorDomain Code=0 sur le iOS Simulator 4.0 via 4.3 . Allumer l'aéroport et se connecter à un réseau Wi-Fi, comme suggéré par les autres réponses, n'a pas aidé dans mon cas. Cependant, je voudrais remercier tout le monde pour leurs réponses. J'ai simplement contourné ce problème en testant tout le code Core Location sur un périphérique.

J'ai récemment effectué une mise à niveau vers XCode 4.2 (à partir de XCode 3.2.6) et le simulateur iOS 5.0 fourni, ce qui m'a amené à constater que la CLLocationManager fonctionnait à nouveau comme prévu. Lors de la sélection d'un ancien simulateur dans XCode 4.2, il continue d'échouer. qui pointe vers le simulateur comme étant à blâmer.

3
albertamg

Cette erreur se produit également si l'option Scheme/Edit Scheme/Options/Autoriser la simulation d'emplacement est cochée mais qu'aucun emplacement par défaut n'est défini.

Veuillez vérifier que cela peut résoudre votre problème.

63
silentBeep

Les étapes suivantes ont résolu mon problème:

  1. Dans le menu Simulator: Reset Content and Settings....
  2. Fermer le simulateur
  3. Redémarrez votre application.
19
Zak

J'ai fait face à la même situation et ai suivi ces étapes, peut-être que ça aide :)

1) Aller sur le simulateur (quelle que soit la version)

2) Allez au menu Débogage -> Emplacement -> Sélectionnez Apple comme votre coutume emplacement.

ça a commencé à fonctionner dans mon cas ..

9
Shefali Soni

J'ai entendu ceci reported before mais je ne l'ai jamais vu moi-même jusqu'à maintenant. J'avais éteint Airport sur mon MacBook depuis que j'utilisais Ethernet. J'ai allumé l'aéroport et redémarré le simulateur et maintenant cela fonctionne. 

Wi-Fi (aéroport) doit être activé sur votre Mac pour que le simulateur puisse signaler une position avec Xcode 3.2.3.

7
progrmr

Cette erreur se produit également si Scheme/Edit Scheme/Options/Allow Location Simulation est coché mais qu'aucun emplacement par défaut n'est défini.

6
Hemang

Cela m'a fait la même chose: 

Il montrait l’emplacement au début, puis j’ai installé la version bêta de XCode 4.2, puis quand je suis retourné à l’emplacement 4.1, l’apparence ne s’affiche plus et CLLocationManager émettait une erreur d’emplacement. 

J'ai fait ce qui suit et le problème était résolu (je ne sais pas si les deux actions sont requises ou une seule suffira, car maintenant cela fonctionne et ne peut pas reproduire):

Lancer le simulateur alors:

  • débranchez le câble réseau
  • changer le périphérique dans le simulateur en iPhone (rétine): Matériel> Périphérique> iPhone (Retina)

Je l’ai fait par erreur et l’emplacement de mon iMac a été fixé.

5
Nicu Surdu

Je continuais à avoir une erreur jusqu'à ce que j'allume mon aéroport et que je me connecte à un réseau wifi (je ne sais pas si je suis même supposé être sur celui-là!) ... et CLLocationManager fonctionnait après une défaillance constante depuis des lustres. Est-ce un énorme bug du simulateur ou quoi ??! 

Apple - S'IL VOUS PLAÎT le réparer! : P

2
artemisworks

Dans Xcode 7 Simulator:

Matériel> Redémarrage

(Plus léger que "Réinitialiser le contenu et les paramètres")

2
bauerMusic

Airport doit être activé et vous devez vous connecter à un réseau. Du moins, ce fut mon expérience. Quand je viens de l'allumer, j'ai eu la même erreur. J'ai rejoint mon réseau sans fil et l'erreur est partie. 

2
iNewbie

Je suis normalement connecté à Ethernet pour effectuer des tests sur simulateur. Activé WIFI, mais ne l'utilisez pas pour les données (ne s'est connecté à rien) - maintenant tout fonctionne.

Donc, la solution était - il suffit d’allumer le WIFI (j’ai également quitté et redémarré le simulateur, je ne suis pas sûr qu’il soit nécessaire).

Lion et Xcode 4.2

1
David H

Cela se produit encore dans iOS 5.0.1 dans les conditions suivantes:

  1. Exécuter le simulateur dans une situation sans connexion Wi-Fi
  2. Se connecter à un réseau wi-fi
  3. [Résultat] CLLocationManager échoue avec une erreur décrite dans cette question.
  4. [Fix] Redémarrer le simulateur
1
Undistraction

Accédez d’abord à la barre de journal Xcode et définissez "Ne pas simuler l’emplacement" . Sélectionnez ensuite le menu du simulateur> débogage> emplacement> définissez personnalisé ou sélectionnez-en 

0
saraman