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?
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.
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>
pour xcode 7:
open /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID <DeviceUDID>
Obtenir votre simulateur udid de xcrun simctl list
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
.
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
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
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.