ios - for - Xcode 6: lanzamiento del simulador desde la línea de comando
xcode mac (7)
A partir de Xcode 7.3.1
Lista de dispositivos en un FORMATO REALMENTE AGRADABLE: ~/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
Luego desea ejecutar (abrir) su aplicación Simulator y asegurarse de que se inicia una nueva instancia de la aplicación.
La aplicación está aquí: /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app
Y el formato que usarías es así:
open -n -a <SimulatorPath> --args -CurrentDeviceUDID <SimDeviceTypeUDID>
Entonces, si quisiera lanzar el Simulador arriba, haría esto.
open -n -a /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID AB335FAF-E3E3-4AE9-A0AF-D1C6AEB5FBD4
¡Maldito calor! Acabo de probarlo y funciona en Mac OS 10.11.6. Ahora el siguiente truco es decirle al simulador que abra nuestra aplicación instalada. No estoy allí todavía. Espero que esto ayude. Gracias a por su explicación detallada.
Quiero lanzar el simulador de iPhone desde la línea de comandos.
hasta ahora he estado usando el comando a continuación
/Aplicaciones/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app/Contents/MacOS/iPhone Simulator -SimulateDevice
-SimulateDevice se utiliza para iniciar un tipo de dispositivo específico
Ahora con Xcode 6, la ruta y la aplicación se han cambiado a
/Aplicaciones/Xcode.app/Contents/Developer/Applications/iOS Simulator.app/Contents/MacOS/iOS Simulator
pero lamentablemente la opción -SimulateDevice no está funcionando ahora. Puedo lanzar el simulador, pero no tengo una opción para especificar cuál lanzar
¿Alguien encontró alguna alternativa para esto con Xcode 6?
Con Xcode 6, si desea que iOS Simulator.app arranque un dispositivo específico cuando se inicia, puede ejecutarlo desde la línea de comando:
open -a "iOS Simulator" --args -CurrentDeviceUDID <DEVICE UDID>
donde puede averiguar el UDID del dispositivo desde el que desea iniciar:
xcrun simctl list
Con Xcode 7, la aplicación pasó a llamarse Simulator.app, por lo que debe actualizar lo anterior según corresponda a:
open -a Simulator --args -CurrentDeviceUDID <DEVICE UDID>
Ejecuta este comando. La aplicación se reiniciará seguida de cambios. No es necesario reconstruirlo de nuevo.
ios-sim "launch" "/Library/WebServer/Documents/testapp/build/iphone/build/Debug-iphonesimulator/test.app" "--devicetypeid" "iPad-2" "--exit";
Para la lista de devicetypeid:
ios-sim showdevicetypes
Encontré una manera de lograr lo que quería.
¡Apple ha presentado una herramienta interesante con Xcode 6!
simctl
simclt le permite controlar el simulador que se está ejecutando.
ejecute xcrun simctl
para obtener la lista de subcomandos disponibles. Muchas nuevas opciones para jugar.
Ahora para hacer lo que quería, aquí está el comando para iniciar el simulador:
xcrun instruments -w "iPhone 5 (8.0 Simulator)"
-w es proporcionar un tipo de dispositivo y obtener la lista de dispositivos disponibles.
Simplemente ejecuta esto:
xcrun instruments -s
Después de iniciar el simulador, puedes controlarlo usando simctl
Para instalar tu aplicación:
xcrun simctl install booted <app path>
Para iniciar la aplicación:
xcrun simctl launch booted <app identifier>
Espero que esto ayude.
Para iniciar un simulador con un dispositivo específico arrancado, estoy usando el subcomando enumerar dispositivos para obtener la lista de todos los dispositivos 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)
este comando generará una lista de dispositivos disponibles con sus UDID y estados
Luego, inicio la aplicación del simulador especificando un dispositivo con la opción -CurrentDeviceUDID
/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator -CurrentDeviceUDID <DEVICE-UDID>
NOTA: reemplace el UDID válido de la lista.
Por ejemplo, si queremos lanzar el simulador con un Ipad (% generación arrancada):
/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/MacOS/Simulator -CurrentDeviceUDID 84DAB7AB-3CA2-4F5B-8C4E-A5B54CA15C31
ACTUALIZACIÓN 23/05/2018
Con Xcode 9.3, la opción UDID de CurrentDevice no funciona para mí, como solución alternativa, tengo que usar simctl para arrancar el dispositivo en el simulador antes de abrirlo.
xcrun simctl boot 2BF01FC0-7E29-4AF1-ADD1-886DF129A9A9
open -a Simulator
Puede crear, borrar, eliminar, iniciar, apagar y actualizar simuladores usando simctl.
$ xcrun simctl create
Usage: simctl create <name> <device type id> <runtime id>
$ xcrun simctl delete
Usage: simctl delete <device> [... <device n>] | unavailable
Para obtener la lista de tipos de dispositivos y tiempos de ejecución válidos
xcrun simctl list devicetypes
xcrun simctl list runtimes
Para xcode 7:
open /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID <DeviceUDID>
Obtenga su simulador udid de xcrun simctl list
Puede especificar el hardware y la versión de iOS con el indicador -w. El formato es
instruments -w "simulator-version"
Por ejemplo:
instruments -w "iPhone Retina (3.5-inch) - Simulator - iOS 7.1"
.
Obtendrá las combinaciones hardvare-iOS disponibles utilizando los instruments -w help
command.