7
votes

Désactiver le service d'emplacement dans iPhone Simulator?

J'aimerais tester ce qui se passe si mon application ne peut pas obtenir les coordonnées de l'emplacement. Est-il possible de désactiver le service de localisation dans le simulateur, comme sur un iPod Touch avec wifi éteint?

Je n'ai toujours pas mon certificat de programme de développeur iPhone, je ne peux donc pas le tester sur mon appareil.

Merci d'avance!


0 commentaires

4 Réponses :


0
votes

** Ne tenez pas compte de cela. Cela fonctionne autour du mapkit. Vérifiez les commentaires ci-dessous.

Déconnectez l'ordinateur de la connexion Internet. Comment.

edit: Vous pouvez tester le code de Ce site qui peut être téléchargé Ici

Avec l'aéroport sur, vous obtenez la carte. Avec l'aéroport, vous obtenez une vue claire carrée.


3 commentaires

Désolé si vous déconnectez Internet également, il affichera la "boucle infinie, Cupertino, USA" Emplacement dans Simulator


Lorsque vous utilisez le cadre de localisation de base et appelez [EmplacementManager StartUpsdAntingLocation]; la méthode donnera "1 boucle infinie, Cupertino, USA" Emplacement même avec l'aéroport éteint


MkmapView Naturellement ne fonctionnera pas sans connexion Internet, mais cllouerManager n'est pas la même. Sur simulator, il retournera toujours le même emplacement à Cupertino



0
votes

À ma connaissance, vous ne pouvez pas désactiver le service de localisation sur le simulateur.

L'approche que j'utilise normalement lorsque vous utilisez le service de localisation consiste à construire une simple classe d'emballage sollicité Nslocation adaptée aux besoins de mon application.

Dans ce wrapper, vous pouvez facilement prétendre que le service ne fonctionne pas dans le simulateur. Par exemple, il pourrait avoir une méthode "isenabled" qui renvoie false sur le simulateur avec un compilateur définitif comme (#if cible_ iphone_simulator)


0 commentaires

0
votes

En tant que solution de contournement, vous pouvez essayer de simuler la défaillance de l'emplacement de mise à jour en construisant des objets NSError avec des valeurs appropriées et appelez CLLOCKERAGER correspondant dadfailwitherror: méthode manuellement.


0 commentaires

9
votes

Vous pouvez désactiver les services de localisation dans le simulateur;

  1. Exécutez votre application via Xcode afin que le simulateur ouvre
  2. Arrêtez l'application via XCode (ceci doit laisser le simulateur ouvert)
  3. Ouvrez l'application Paramètres dans la fenêtre Simulator
  4. Confidentialité> Services de localisation. Désactiver les services d'emplacement
  5. Exécutez votre application à nouveau, les services de localisation doivent être désactivés

    espérons que cela aide!


2 commentaires

+1, bien que ce n'était pas une option disponible lorsque l'utilisateur a publié à l'origine la question.


Le paramètre de confidentialité pour l'emplacement ne désactive pas GPS, il n'a que l'accès désactivé au service d'une application. IOS 13 vous donnera un message si une application tente d'utiliser l'emplacement GPS.