Je souhaite lancer le simulateur iPhone à partir de la ligne de commande.
jusqu'à présent, j'utilisais la commande ci-dessous
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator -SimulateDevice
-SimulateDevice est utilisé pour lancer un type d'appareil spécifique
Maintenant, avec Xcode 6, le chemin et l'application ont été modifiés en
/Applications/Xcode.app/Contents/Developer/Applications/iOS Simulator.app/Contents/MacOS/iOS Simulator
mais malheureusement l'option -SimulateDevice ne fonctionne pas maintenant. Je peux lancer le simulateur, mais je n'ai pas d'option pour spécifier lequel lancer
Quelqu'un a trouvé des alternatives pour cela avec Xcode 6?
la source
xcrun simctl
listera les commandes. À mon avis, ils sont assez explicites.xcrun simctl boot <device id>
place dexcrun instruments -w...
booted
debooted
choisir arbitrairement l'un des périphériques démarrés sur le simulateur.Avec Xcode 6, si vous souhaitez que iOS Simulator.app démarre un appareil spécifique lors de son lancement, vous pouvez l'exécuter à partir de la ligne de commande:
open -a "iOS Simulator" --args -CurrentDeviceUDID <DEVICE UDID>
où vous pouvez déterminer l'UDID de l'appareil à partir duquel vous souhaitez démarrer:
xcrun simctl list
Avec Xcode 7, l'application a été renommée Simulator.app, vous devez donc mettre à jour ce qui précède en conséquence pour:
open -a Simulator --args -CurrentDeviceUDID <DEVICE UDID>
la source
/usr/bin/xcrun simctl list
répertorie les simulateurs disponibles pour Xcode standard. Cependant,open -a "iOS Simulator"
lance le simulateur bêta 6.2, qui attend les identifiants d'appareils du simulateur bêta. Comment puis-je spécifier le simulateur que je lance (standard ou bêta)?defaults read com.apple.iphonesimulator
et remplacer celles de la ligne de commande. Simulator.app utilise uniquement les UDID pour identifier de manière unique les périphériques. Vous ne pouvez pas utiliser le nom.Pour xcode 7:
open /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID <DeviceUDID>
Obtenez votre simulateur udid de
xcrun simctl list
la source
Pour lancer un simulateur avec un appareil spécifique démarré, j'utilise la sous-commande list devices pour obtenir la liste de tous les appareils disponibles
cette commande affichera une liste des périphériques disponibles avec ses UDID et statuts
Ensuite, je lance l'application de simulation en spécifiant un appareil avec l'option -CurrentDeviceUDID
REMARQUE: remplacez le par un UDID valide de la liste.
Par exemple, si nous voulons lancer le simulateur avec un Ipad (% generation booted):
MISE À JOUR 23/05/2018
Avec Xcode 9.3, l'option UDID CurrentDevice ne fonctionne pas pour moi, comme solution de contournement, je dois utiliser simctl pour démarrer l'appareil dans le simulateur avant de l'ouvrir.
Vous pouvez créer, effacer, supprimer, démarrer, arrêter et mettre à niveau des simulateurs à l'aide de simctl.
Pour obtenir la liste des types d'appareils et des environnements d'exécution valides
la source
Pour démarrer un simulateur:
Il démarrera en mode sans tête. Pour rendre le simulateur visible:
xcrun simctl boot
est plus simple quexcrun instruments -w
.instruments
nécessite le nom complet de l'appareil.la source
Vous pouvez spécifier la version matérielle et iOS avec l'option -w. Le format est
Par exemple:
instruments -w "iPhone Retina (3.5-inch) - Simulator - iOS 7.1"
.Vous obtiendrez les combinaisons hardvare-iOS disponibles en utilisant la
instruments -w help
commande.la source
instruments -s devices
pour obtenir une liste d'appareils. Cependant, une fois que vous avez le nom du périphérique, un simple appelinstruments -w <device>
générera probablement une erreur car les instruments tenteront d'écrire une trace à la racine de votre lecteur. Vous souhaiterez peut-être spécifier un chemin pour la trace dans laquelle il écrira avec succès.-D
pour spécifier un répertoire de sortie pour les documents .trace.Vérifié dans Xcode 9.4.1
Liste des appareils dans un FORMAT VRAIMENT AGRÉABLE:
~/Library/Developer/CoreSimulator/Devices/device_set.plist
Ensuite, vous souhaitez exécuter (ouvrir) votre application Simulator et vous assurer qu'une nouvelle instance de l'application est lancée.
L'application est ici:
/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app
Et le format que vous utiliseriez est le suivant:
open -n -a <SimulatorPath> --args -CurrentDeviceUDID <SimDeviceTypeUDID>
Donc, si je voulais lancer le simulateur ci-dessus, je le ferais.
open -n -a /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID AB335FAF-E3E3-4AE9-A0AF-D1C6AEB5FBD4
Damn hot! Je viens de le tester et cela fonctionne sur Mac OS 10.11.6. Maintenant, la prochaine astuce consiste à dire au simulateur d'ouvrir notre application installée. Je n'y suis pas encore. J'espère que cela t'aides. Merci à https://stackoverflow.com/users/726106/jeremy-huddleston-sequoia pour son explication détaillée.
la source
Exécutez cette commande. L'application sera redémarrée suivie de modifications. Pas besoin de le reconstruire à nouveau.
Pour la liste devicetypeid:
la source