web-dev-qa-db-fra.com

l'emplacement du simulateur iOS ne fonctionne pas

Je teste une application iOS avec le simulateur dans xCode 5.x. La vue racine est un UIWebView qui charge une URL externe. La page externe demande des informations de géolocalisation, mais je ne parviens pas à le faire fonctionner dans le simulateur. L'invite semble partager les informations de lieu, mais la page externe ne peut pas les recevoir.

  • J'ai essayé de définir un emplacement personnalisé dans Debug> Location ... mais rien ne change.
  • J'ai essayé plusieurs appareils dans le simulateur, tels que l'iPhone 3.5 et l'iPad.
  • Si je charge l'application dans un appareil réel, cela fonctionne bien. 

Qu'est-ce que je rate?

-e

13
emersonthis

+1 à @Farhan pour un conseil utile. Voici ce qui a résolu mon problème:

Il y a deux endroits où l'emplacement du simulateur est défini:

  • Le schéma (voir la réponse de Farhan).
  • Dans le simulateur sous débogage> Emplacement

J'ai joué avec le paramètre Emplacement par défaut dans le schéma et cela n'a pas fonctionné. Mine est actuellement défini sur "Aucun", ce qui ne permet pas de savoir si cela signifie qu'aucune donnée d'emplacement n'est fournie ou si l'emplacement par défaut de l'ordinateur hôte est défini par défaut.

Dans le simulateur sous Debug> Location, il a également été défini sur none. J'ai essayé d'utiliser certains des préréglages, mais cela n'a toujours pas fonctionné. Ce qui a finalement fait que cela commence à fonctionner pour moi, c’est que je l’ai changée en "Emplacement personnalisé" et que je saisisse la latitude et la longitude de mon lieu de résidence. Ce n’est qu’alors que cela a commencé à fonctionner correctement.

Ce post a quelques captures d'écran utiles de ce que je décris.

Ceci est un outil pratique pour obtenir la latitude et la longitude.

Update La solution que j'ai décrite ci-dessus fonctionne toujours, mais dans le projet sur lequel je travaille actuellement, elle ne semble pas conserver les paramètres. Je dois donc continuer à sélectionner ma personnalisation. emplacement. Cela devient fastidieux, alors j'ai créé un nouvel emplacement prédéfini en utilisant le fichier gpx. Il s'avère que c'est vraiment facile. Utilisez simplement cet outil pour générer le fichier et le télécharger. Ensuite, lorsque vous éditez le schéma, sous Emplacement par défaut, choisissez "Ajouter un fichier GPX au projet ..." (et sélectionnez le fichier que vous avez téléchargé). C'est tout. Pour une raison quelconque, ce paramètre semble être mémorisé lorsque je réexécute le simulateur.

15
emersonthis

Vous devrez peut-être l'activer pour votre construction spécifique. Pour faire ça. 

Dans votre Xcode, sélectionnez Product> Scheme> Edit Scheme ... 2 - Dans le Run ProjectName/Debug

Sélectionnez "Exécuter XXXX.app/Debug"> Sélectionnez "Autoriser la simulation d'emplacement" et sélectionnez un emplacement par défaut.

10
Farhan Patel

J'ai eu le même problème - essayez ceci: 

Vérifiez vos paramètres de localisation dans le simulateur. Appuyez sur CMD-Shift-H pour quitter l'application, allez à Settings->Privacy et sélectionnez 'While Using the App'. Vous devez également avoir défini la clé NSLocationWhenInUseUsageDescription dans Info.plist.

6
Erlend

Supprimer l'application du simulateur Définir les coordonnées à partir du débogage/emplacement/emplacement personnalisé Après le simulateur de redémarrage

1
erdikanik

Pour moi, le problème était que "Debug Executable" n'était pas coché sur le schéma que j'utilisais. Une fois que j'ai activé cela, tout a recommencé à fonctionner normalement avec la simulation de localisation.

0
Andrew K

Xcode prend en charge les fichiers GPX, mais il est important de noter que le fichier GPX doit contenir les waypoints . Les traces ne fonctionnant pas, assurez-vous de n'utiliser que des balises "wpt" dans votre GPX.

0
Karsten