Le simulateur iOS fait partie intégrante de tout processus de développement iOS. Nous ne pouvons tout simplement pas l’ignorer. Le nouveau Simulateur de Xcode 9 apporte un grand nombre d’astuces utiles, qui pourraient vous rendre encore plus productif. Enfin, Apple a rappelé qu’il existe un simulateur ! En comparaison avec les modestes mises à jour précédentes, celle-ci semble être une grosse affaire. 🙌
Donc, décomposons cela et énumérons toutes les fonctionnalités que j’ai trouvées dans le nouveau simulateur iOS (certaines astuces que vous pouvez utiliser dans les anciens simulateurs aussi).
- #1 Utiliser le simulateur en mode plein écran avec Xcode
- #2 Ouvrir plusieurs Simulateurs à la fois
- #3 Redimensionner le simulateur comme une fenêtre ordinaire
- #4 Enregistrer une vidéo du simulateur
- #5 Partager des fichiers sur le Simulateur directement depuis le Finder
- #6 Ouvrir des URL sur le Simulateur
- #7 Trouver rapidement le dossier du conteneur de l’app
- #8 Lancez votre app dans le simulateur avec des arguments de ligne de commande
- #9 Get full application info with Bundle ID
- Une dernière chose…
#1 Utiliser le simulateur en mode plein écran avec Xcode
Lorsque vous avez un écran de 13 pouces, le mode plein écran pour Xcode est juste un sauveur de vie. Malheureusement, vous ne pouviez pas utiliser Simulator avec Xcode en mode plein écran auparavant. Eh bien maintenant vous le pouvez 😎
Cette fonctionnalité est activée par défaut à partir de Xcode 9b3. Vous n’avez donc même pas besoin de faire quoi que ce soit pour la faire fonctionner.
UPD : Il s’est avéré que cette fonctionnalité est désactivée par défaut pour certaines personnes, mais ne vous inquiétez pas, vous pouvez toujours l’activer via le menu Apple Internal
comme je l’ai décrit plus loin.
Si vous voulez explorer plus de fonctionnalités secrètes dans le nouveau Simulateur, vous devriez activer le menu caché Apple Internals
.
Pour ce faire, vous devez créer un dossier vide avec le nom « AppleInternal » dans le répertoire racine. Il suffit d’exécuter la commande ci-dessous et de redémarrer le Simulateur :
sudo mkdir /AppleInternal
Le nouvel élément de menu devrait apparaître . ☝️
Note:
J’ai testé cette approche sur Simulator à partir de Xcode 9b3. Si vous ne l’avez pas, veuillez télécharger le dernier Xcode ici.
#2 Ouvrir plusieurs Simulateurs à la fois
Vous souvenez-vous de la frustration de tester votre application sur différents simulateurs ? Auparavant, vous étiez obligé d’ouvrir une seule instance de simulateur à la fois. Il y avait de nombreux « hacks » comment ouvrir plusieurs instances du simulateur iOS dans une ancienne version de Xcode. Mais enfin, avec Xcode 9, cette fonctionnalité est disponible d’emblée.
#3 Redimensionner le simulateur comme une fenêtre ordinaire
Avant Xcode 9, nous avions des « Scale options » uniquement pour ajuster la taille de la fenêtre du simulateur. Maintenant, Apple a enfin rendu disponible le redimensionnement de la fenêtre du simulateur. C’est un petit détail utile qui peut vous aider à organiser efficacement l’espace de travail si vous avez plusieurs simulateurs ouverts.
#4 Enregistrer une vidéo du simulateur
Dans le document officiel « What’s new » de Xcode 9, Apple prétend que maintenant vous pouvez enregistrer une vidéo de l’écran du simulateur. Ce n’est pas complètement vrai. Vous pouvez le faire même dans les anciennes versions avec simctl
. Je n’ai pas trouvé de preuve que vous pouvez activer l’enregistrement vidéo à partir de l’interface cependant (à l’exception de l’enregistrement d’écran intégré dans iOS 11).
Pour obtenir votre fichier vidéo, exécutez la commande suivante:
xcrun simctl io booted recordVideo --type=mp4 <PATH TO VIDEO FILE>
booted
– signifie, que simctl
sélectionne le Simulateur actuellement démarré. Dans le cas où vous avez plus d’un Simulateur démarré, simctl
sélectionne l’instance actuellement active.
#5 Partager des fichiers sur le Simulateur directement depuis le Finder
Maintenant, le Simulateur a l’extension Finder qui vous permet de partager des fichiers directement depuis la fenêtre du Finder.
Vous pouvez faire quelque chose de similaire avec des fichiers image/vidéo en utilisant la commande simctl
ci-dessous :
xcrun simctl addmedia booted <PATH TO MEDIA FILE>
Il est agréable d’avoir de telles capacités. Cependant, le drag&drop de fichier sur la fenêtre du Simulateur me semble beaucoup plus rapide.
#6 Ouvrir des URL sur le Simulateur
Ceci est également livré avec simctl
. Vous pouvez donc ouvrir des schémas d’URL personnalisés sur des simulateurs plus anciens également.
Exécutez la commande ci-dessous avec n’importe quelle URL dont vous avez besoin :
xcrun simctl openurl booted <URL>
Pour la liste de tous les schémas d’URL d’Apple, veuillez consulter la documentation.
#7 Trouver rapidement le dossier du conteneur de l’app
Une autre commande de simctl
. Vous pouvez obtenir le conteneur du conteneur sur le système de fichiers avec une seule commande. Il vous suffit de connaître l’identifiant du bundle de l’app et d’exécuter la commande ci-dessous :
xcrun simctl get_app_container booted <APP'S BUNDLE ID>
Ou vous pouvez le faire encore plus rapidement en ouvrant le dossier de destination dans le Finder avec la commande open
:
open `xcrun simctl get_app_container booted <APP'S BUNDLE ID>` -a Finder
#8 Lancez votre app dans le simulateur avec des arguments de ligne de commande
Avec simctl
, vous pouvez également lancer votre app depuis le terminal et y passer des arguments de ligne de commande (vous pouvez même configurer certaines variables d’environnement). Cela peut être utile si vous voulez ajouter un comportement caché de débogage uniquement à votre app.
La commande ci-dessous vous aide pour cela :
xcrun simctl launch --console booted <BUNDLE ID> <YOUR ARGUMENTS>
Vous pouvez obtenir ces arguments de ligne de commande à partir de CommandLine.arguments
(voici le lien vers la documentation).
#9 Get full application info with Bundle ID
Il est parfois utile de savoir où se trouve votre fichier app ou vos données temporaires sur le système de fichiers. Si vous avez besoin d’informations plus complètes que celles que simctl get_app_container
peut donner. simctl
a également ce joli petit outil appelé appinfo
qui vous montrera certaines informations dans le format suivant:
{
ApplicationType = User;
Bundle = <PATH TO APP FILE>;
BundleContainer = <PATH TO FOLDER WITH APP FILE>;
CFBundleDisplayName = TestiOSApp;
CFBundleExecutable = TestiOSApp;
CFBundleIdentifier = "com.ahmed.app.TestiOSApp";
CFBundleName = TestiOSApp;
CFBundleVersion = 1;
DataContainer = <PATH TO YOUR DATA>;
GroupContainers = {
};
Path = <PATH TO APP FILE>;
SBAppTags = (
);
}
Exécutez la commande ci-dessous et explorez la sortie:
xcrun simctl appinfo booted <BUNDLE ID>
Une dernière chose…
Le simulateur iOS est un outil très puissant qui peut accélérer beaucoup votre processus de développement. Mais seulement si vous connaissez tous les petits détails et astuces. Et évidemment, en tant que bon ingénieur, vous devez connaître vos outils.
Ici, chez Flawless, iOS Simulator est extrêmement important pour nous. Notre produit est un plugin iOS Simulator qui permet aux ingénieurs d’inspecter n’importe quelle conception sur le dessus de la mise en œuvre directement à l’intérieur de Simulator. Je ne peux donc pas vous dire à quel point je suis heureux de cette nouvelle version de Xcode 9 et de Simulator. J’attends avec impatience la version publique ! Ainsi, nous pourrons mettre en œuvre plus de fonctionnalités utiles pour maintenir la qualité visuelle des applications iOS en bon état.