Cette astuce vous présentera certaines des fonctionnalités puissantes disponibles pour tester et déboguer des applications avec Xcode et le simulateur iOS..
Pendant des années, les développeurs ont eu du mal à déboguer des applications basées sur CoreLocation dans le simulateur en raison du manque de prise en charge intégrée du simulateur pour les coordonnées personnalisées. Bien que des projets tels que FTLocationSimulator aient été d'une grande aide, nous étions nombreux à envier les développeurs Android qui pourraient facilement définir l'emplacement du simulateur Android à l'aide des outils DDMS fournis..
Heureusement, ces jours d’envie silencieuse sont révolus. Avec la sortie de Xcode 4.2, les développeurs iOS ont été en mesure de simuler un emplacement de périphérique par défaut pour plusieurs villes du monde. Cette approche existe toujours et peut être réalisée en sélectionnant "Edit Scheme":
Ensuite, accédez à l'onglet "Options" de la fenêtre contextuelle:
Cependant, les versions récentes du simulateur iOS ont rendu encore plus facile la modification de l'emplacement simulé. Vous pouvez maintenant accomplir cela au moment de l'exécution..
Après avoir lancé le simulateur, sélectionnez Débogage> Emplacement produira les options de menu suivantes:
Comme vous pouvez le constater, vous pouvez désormais définir facilement vos propres coordonnées à l’aide de l’option "Emplacement personnalisé":
Bien sûr, cela nécessite que vous connaissiez réellement les coordonnées exactes de l'emplacement que vous souhaitez simuler, et pas seulement l'adresse de la rue. Le processus de génération de coordonnées de latitude et de longitude à partir d'une adresse est appelé géocodage. De nombreux sites Web et applications iOS gratuits génèrent les coordonnées à partir d'une adresse municipale. Il convient de mentionner à la fois l'application gratuite iOS Geocode Something et le site Web geocoder.us. Ce mashup de géocodeur est un moyen rapide et facile d'extraire les coordonnées directement à partir de Google Maps..
Le simulateur comprend également un certain nombre d'emplacements et de chemins prédéfinis que vous pouvez utiliser pour tester vos propres applications. Une brève description de chacun est fournie ci-dessous.
En sélectionnant "Apple" dans le menu Emplacement, l'emplacement actuel sera Apple HQ à 1 Infinite Loop, Cupertino, CA. Pour les utilisateurs des premières versions de Xcode, vous reconnaîtrez qu'il s'agit du seul emplacement initialement pris en charge par le simulateur..
Si vous sélectionnez l'option "City Bicycle Ride", la structure CoreLocation commence à générer des coordonnées qui suivent un chemin prédéfini proche de Apple HQ. L'option vélo entraîne des mises à jour à une vitesse d'environ 5 à 7 mètres par seconde.
L'option "City Run" est similaire au paramètre "City Bicycle Ride", à l'exception des mises à jour effectuées avec une vitesse de suivi d'environ 3 à 4 mètres par seconde..
L'option "Freeway Drive" diffère des deux précédentes en ce qui concerne le chemin suivi et la vitesse en mètres par seconde. Le sentier suit l’autoroute Junipero Serra Freeway, juste au nord du siège d’Apple, et la vitesse semble se situer généralement entre 20 et 35 mètres par seconde..
En théorie, cette option devrait générer des coordonnées liées aux emplacements de l'Apple Store. Cependant, avec le simulateur iOS 6.0 et Xcode 4.5, cette option semble être gravement endommagée. D'après mon expérience, les coordonnées semblent toujours commencer aux environs de 33,7718 N, 112,9031 W, puis augmenter graduellement dans les lectures nord et ouest, déplaçant ainsi l'emplacement actuel sur un chemin diagoal. J'ai soumis ce rapport à Apple en tant que rapport de bogue. Par conséquent, si d'autres personnes rencontrent le même problème, nous espérons qu'il sera bientôt résolu.!
L'application Apple Maps pouvant s'exécuter dans le simulateur, il est facile de tester l'une des options ci-dessus. Il suffit de lancer le simulateur iOS comme vous le feriez normalement, de définir votre emplacement simulé, puis de lancer l'application Cartes..
Avec le SDK iOS 6, vous pouvez maintenant exécuter des applications qui utilisent Maps directement dans le simulateur.!
Une autre grande fonctionnalité du simulateur iOS est la possibilité de placer des animations au ralenti avec le Débogage> Basculer les animations lentes option de menu.
Cela peut être extrêmement utile lorsque vous essayez de créer une animation UIKit personnalisée et que vous devez vous assurer que chaque image est parfaite..
Peut-être une utilisation plus pratique de cette fonctionnalité est-elle de ralentir les animations qui se produisent lors de la rotation du périphérique afin de peaufiner les animations de changement d'orientation (voir la Session 517 de WWDC 2012 pour plus d'informations sur la procédure de finition des animations d'orientation).
le Déboguer L'option de menu fournit également la possibilité incroyablement utile de colorer les vues en temps réel:
Vous pouvez utiliser ces options pour identifier visuellement les calques mélangés, les images copiées, les images mal alignées et les vues restituées hors écran..
Il s'agit d'une fonctionnalité utile pour déboguer vos propres applications. Elle peut également s'avérer utile pour examiner les applications par défaut sur le simulateur. La capture d'écran suivante montre l'application Maps et l'application Passbook avec l'option "Color Blended Layers" sélectionnée:
Alors que rien ne remplacera l'expérience de test d'applications sur du matériel réel, le simulateur a parcouru un long chemin ces dernières années avec une émulation d'événements dans le monde réel. En fait, certains événements, tels que le basculement d'une barre d'état "en cours d'appel" ou la génération d'alertes de mémoire, sont probablement plus faciles à déboguer dans le simulateur qu'avec un périphérique réel..
Un regard sur le Matériel menu révélera les options d'événement suivantes:
La plupart d’entre elles s’expliquent d’elles-mêmes, mais quelques-unes méritent d’être relevées..
L'option "Simuler le clavier matériel" est principalement destinée au débogage d'applications iPad pour lesquelles l'utilisateur est susceptible de disposer d'un clavier physique connecté via Bluetooth ou le connecteur de dock.. Les tests avec l'option de clavier matériel doivent constituer une partie importante des tests bêta des applications pour iPad.
L'option "Sortie TV" vous permet de simuler des connexions VGA / HDMI en créant une nouvelle fenêtre pouvant avoir une résolution aussi basse que 640x480 ou aussi haute que 1920x1080 (c'est-à-dire 1080p).
La méthode la plus simple pour ajouter des photos au simulateur iOS consiste simplement à les glisser-déposer individuellement de la fenêtre du Finder OS X dans la fenêtre du simulateur..
Toutefois, si vous devez ajouter de nombreuses photos différentes à des fins de test, ce processus devient rapidement inefficace. Lorsque vous devez ajouter plusieurs images à la fois, vous pouvez envisager d’écrire une application iOS simple qui peut parcourir votre liste de photos en boucle et ajouter chaque image à la bibliothèque de photos à l’aide de la UIImageWriteToSavedPhotosAlbum
une fonction. Pour voir comment cela se fait, jetez un coup d’œil à l’étape 6 de mon tutoriel Créer une application photo avec GPUImage..
Une autre approche consisterait à ajouter directement les fichiers image au système de fichiers du simulateur, mais les étapes pour y parvenir semblent changer à chaque nouvelle version d'iOS. Construire votre propre importateur pourrait être une approche plus fiable à long terme (connaissez-vous un meilleur moyen d'y parvenir? Laissez un commentaire ci-dessous!).
Pour mes propres applications iOS, j'essaie toujours de déployer à la fois la version actuelle d'iOS et une version antérieure. Cependant, par défaut, Xcode inclut uniquement un simulateur pour la version iOS actuelle. Heureusement, il existe une méthode simple pour obtenir le simulateur de la version iOS précédente..
Avec Xcode ouvert, sélectionnez Xcode> Préférences dans la barre de menu, puis accédez à l'onglet "Téléchargements". À partir de là, vous aurez la possibilité d'installer des simulateurs iOS antérieurs, ainsi que le package Outils de ligne de commande. Je recommande d'installer les trois options suivantes:
Une fois l’installation terminée, vous pourrez sélectionner les simulateurs iOS 5.0 / 5.1 lors de la création et de l’exécution de vos applications..
Quels conseils ou astuces avez-vous pour travailler avec le simulateur iOS? Laissez vos commentaires dans la section commentaires ci-dessous!