Xcode 6 - simulateur de lancement depuis la ligne de commande

je veux lancer iPhone simulateur de ligne de commande.

jusqu'à présent j'ai utilisé la commande ci-dessous

/Applications / Xcode.app/Contents/Développeur/plates-formes/iPhoneSimulator.plateforme/développeur/Applications / simulateur iPhone.app / Contents / MacOS / iPhone Simulator-SimulateDevice

- appareil de simulation est utilisé pour lancer un type de dispositif spécifique

maintenant avec Xcode 6 le chemin et l'application ont été changés en

/Applications / Xcode.app/Contents/Developer/Applications / iOS Simulator.app / Contents / MacOS / iOS Simulator

mais malheureusement-SimulateDevice option ne fonctionne pas maintenant. Je peux lancer le simulateur, mais je n'ai pas d'option pour spécifier lequel lancer

Quelqu'un a-t-il trouvé une alternative à cela avec Xcode 6?

90
demandé sur Balaji Sekar 2014-09-25 09:57:26

7 réponses

a trouvé un moyen de réaliser ce que je voulais.

Apple a présenté un outil intéressant avec Xcode 6!

simctl

simclt vous permet de contrôler le simulateur qui fonctionne.

exécuter xcrun simctl pour obtenir la liste des sous-commandes. Beaucoup de nouvelles options pour jouer avec.

maintenant pour faire ce que je voulais, voici la commande pour lancer le simulateur:

xcrun instruments -w "iPhone 5 (8.0 Simulator)"

-w est de fournir un type d'appareil et d'obtenir la liste des périphériques disponibles.

il suffit d'exécuter ceci:

xcrun instruments -s

après le lancement du simulateur vous pouvez le commander en utilisant simctl

pour installer votre application:

xcrun simctl install booted <app path>

pour lancer l'application:

xcrun simctl launch booted <app identifier>

Espérons que cette aide.

195
répondu Balaji Sekar 2017-01-13 03:16:11

avec Xcode 6, Si vous voulez avoir le simulateur iOS.app démarrer un périphérique spécifique lors de son lancement, vous pouvez l'exécuter depuis la ligne de commande:

open -a "iOS Simulator" --args -CurrentDeviceUDID <DEVICE UDID>

où vous pouvez calculer L'UDID de l'appareil que vous voulez démarrer à partir de:

xcrun simctl list

avec Xcode 7,l'application a été renommée simulateur.app, vous devez donc mettre à jour le ci-dessus en conséquence à:

open -a Simulator --args -CurrentDeviceUDID <DEVICE UDID>

55
répondu Jeremy Huddleston Sequoia 2015-08-23 22:05:11

pour xcode 7:

open /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID <DeviceUDID>

Obtenir votre simulateur udid de xcrun simctl list

18
répondu TinyTimZamboni 2015-09-18 20:20:40

vous pouvez spécifier le matériel et la version iOS avec le drapeau-W. Le format est

instruments -w "simulator-version"

pour eg:

instruments -w "iPhone Retina (3.5-inch) - Simulator - iOS 7.1" .

vous obtiendrez les combinaisons hardvare-iOS disponibles en utilisant la commande instruments -w help .

8
répondu Neenu 2014-09-25 09:03:45

pour lancer un simulateur avec un dispositif spécifique démarré Im en utilisant liste des dispositifs sous-commande pour obtenir la liste de tous les dispositifs disponibles

$ xcrun simctl list devices
== Devices ==
-- iOS 11.2 --
iPhone 5s (E3B6EA43-C805-49C2-9502-A44A465D8DF2) (Shutdown)
iPhone 6 (801E9E11-CA86-473A-9879-4B0742B827FB) (Shutdown)
iPhone 6 Plus (24013349-1A6F-489C-9A68-ABB00EBB4BBF) (Shutdown)
iPhone 6s (1A594D75-146C-4BEA-A250-1FADE7886114) (Shutdown)
iPhone 6s Plus (C2730FA0-11CB-49C9-A087-CB3C1BF1CC3D) (Shutdown)
iPhone 7 (F58B3749-3276-49E5-81C8-EBA1AEA7B242) (Shutdown)
iPhone 7 Plus (98167D8C-8F27-404C-AB02-588D9AAFD071) (Shutdown)
iPhone 8 (96322368-F763-4E0A-8576-ADE9F678211F) (Shutdown)
iPhone 8 Plus (E916D1EE-B67B-4C01-B3F5-C5C80CC4CDF8) (Shutdown)
iPhone SE (ABEFEDDF-7A7C-4B94-9E91-E065170FA47F) (Shutdown)
iPhone X (84DAB7AB-3CA2-4F5B-8C4E-A5B54CA15C31) (Shutdown)
iPad Air (DCD8CF4B-2C9F-4BA1-952A-ACB9CAD0A84D) (Shutdown)
iPad Air 2 (A47C9A05-233F-450F-9A39-318258E9ADEA) (Shutdown)
iPad (5th generation) (819C058E-64AC-4E73-8F41-2C0F919F8B56) (Booted)

cette commande affichera une liste des appareils disponibles avec leurs UDID et statuts

puis je lance l'application simulateur spécifiant un dispositif avec l'option-CurrentDeviceUDID

/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator -CurrentDeviceUDID <DEVICE-UDID>

NOTE: remplacer le par un UDID valide de la liste.

par exemple, si nous voulons lancer le simulateur avec un Ipad (% generation booted):

/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator -CurrentDeviceUDID 84DAB7AB-3CA2-4F5B-8C4E-A5B54CA15C31

mise à jour 23/05/2018

avec Xcode 9.3 L'option CurrentDevice UDID ne fonctionne pas pour moi, comme solution de contournement, je dois utiliser simctl pour démarrer le périphérique dans le simulateur avant de l'ouvrir.

xcrun simctl boot 2BF01FC0-7E29-4AF1-ADD1-886DF129A9A9
open -a Simulator 

vous pouvez créer, effacer, supprimer, démarrer, arrêter et mettre à niveau les simulateurs en utilisant simctl.

$ xcrun simctl create
Usage: simctl create <name> <device type id> <runtime id>

$ xcrun simctl delete
Usage: simctl delete <device> [... <device n>] | unavailable

pour obtenir la liste des types d'appareils valides 151980920" et Runtime

xcrun simctl list devicetypes

xcrun simctl list runtimes
3
répondu Javier Rojano 2018-05-23 11:49:28

exécutez cette commande. L'application sera redémarré suivie par des changements. Pas besoin de le reconstruire à nouveau.

ios-sim "launch" "/Library/WebServer/Documents/testapp/build/iphone/build/Debug-iphonesimulator/test.app" "--devicetypeid" "iPad-2" "--exit";

pour la liste devicetypeid:

ios-sim showdevicetypes
2
répondu Swapnil Mokashi 2015-09-25 13:38:12

selon le code X 7.3.1

liste D'appareils dans un très beau FORMAT: ~/Library/Developer/CoreSimulator/Devices/device_set.plist

Root
    DefaultDevices
        com.apple.CoreSimulator.SimRuntime.iOS-8-4
             com.apple.CoreSimulator.SimDeviceType.iPad-Retina : AB335FAF-E3E3-4AE9-A0AF-D1C6AEB5FBD4

ensuite vous voulez exécuter (ouvrir) votre application de simulateur et assurez-vous 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 utilisez est comme ceci:

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

putain! Je viens de le tester et il fonctionne sur Mac OS 10.11.6. Maintenant, le truc suivant est de dire au simulateur d'ouvrir notre application installée. Je ne suis pas encore là. Espérons que cette aide. Merci à https://stackoverflow.com/users/726106/jeremy-huddleston-sequoia pour son explication détaillée.

2
répondu Alex Zavatone 2017-05-23 12:02:37