Quiero iniciar el simulador de iPhone desde la línea de comandos.
hasta ahora he estado usando el siguiente comando
/Applications/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
/Applications/Xcode.app/Contents/Developer/Applications/iOS Simulator.app/Contents/MacOS/iOS Simulator
pero lamentablemente la opción -SimulateDevice no funciona ahora. Puedo iniciar el simulador, pero no tengo una opción para especificar cuál iniciar
¿Alguien encontró alguna alternativa para esto con Xcode 6?
fuente
xcrun simctl
enumerará los comandos. En mi opinión, se explican por sí mismos.xcrun simctl boot <device id>
lugar dexcrun instruments -w...
booted
comobooted
se acaba de elegir arbitrariamente uno de los dispositivos con botas en el simulador.Con Xcode 6, si desea que iOS Simulator.app arranque un dispositivo específico cuando se inicie, 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 en consecuencia para:
open -a Simulator --args -CurrentDeviceUDID <DEVICE UDID>
fuente
/usr/bin/xcrun simctl list
enumera los simuladores disponibles para Xcode normal. Sin embargo,open -a "iOS Simulator"
lanza el simulador beta 6.2, que espera los ID de dispositivo del simulador beta. ¿Cómo puedo especificar qué simulador ejecuto (regular o beta)?defaults read com.apple.iphonesimulator
y puede anular cualquiera de los de la línea de comando. Simulator.app utiliza solo los UDID para identificar de forma única los dispositivos. No puedes usar el nombre.Para xcode 7:
open /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID <DeviceUDID>
Obtén tu udid de simulador de
xcrun simctl list
fuente
Para iniciar un simulador con un dispositivo específico iniciado, estoy usando el subcomando list devices para obtener la lista de todos los dispositivos disponibles
este comando generará una lista de dispositivos disponibles con sus UDID y estados
Luego lanzo la aplicación del simulador especificando un dispositivo con la opción -CurrentDeviceUDID
NOTA: reemplace el con un UDID válido de la lista.
Por ejemplo, si queremos lanzar el simulador con un Ipad (% generación arrancada):
ACTUALIZACIÓN 23/05/2018
Con Xcode 9.3, la opción UDID CurrentDevice no me funciona, como solución alternativa, tengo que usar simctl para arrancar el dispositivo en el simulador antes de abrirlo.
Puede crear, borrar, borrar, arrancar, apagar y actualizar simuladores usando simctl.
Para obtener la lista de tipos de dispositivos y tiempos de ejecución válidos
fuente
Para arrancar un simulador:
Arrancará como modo sin cabeza. Para hacer visible el simulador:
xcrun simctl boot
es más simple quexcrun instruments -w
.instruments
requiere el nombre completo del dispositivo.fuente
Puede especificar el hardware y la versión de iOS con el indicador -w. El formato es
Por ejemplo:
instruments -w "iPhone Retina (3.5-inch) - Simulator - iOS 7.1"
.Obtendrá las combinaciones disponibles de hardvare-iOS usando el
instruments -w help
comando.fuente
instruments -s devices
para obtener una lista de dispositivos. Sin embargo, una vez que tenga el nombre del dispositivo, el simple hecho de llamarinstruments -w <device>
probablemente producirá un error ya que los instrumentos intentan escribir un rastro en la raíz de su unidad. Es posible que desee especificar una ruta para la traza en la que se escribirá correctamente.-D
para especificar un directorio de salida para los documentos .trace.Verificado en Xcode 9.4.1
Lista de dispositivos en un FORMATO REALMENTE BONITO:
~/Library/Developer/CoreSimulator/Devices/device_set.plist
Luego, desea ejecutar (abrir) su aplicación Simulator y asegurarse de que se inicie 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 anterior, haría esto.
open -n -a /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app --args -CurrentDeviceUDID AB335FAF-E3E3-4AE9-A0AF-D1C6AEB5FBD4
¡Maldito calor! Lo acabo de probar y funciona en Mac OS 10.11.6. Ahora, el siguiente truco es decirle al Simulador que abra nuestra aplicación instalada. Aún no he llegado. Espero que esto ayude. Gracias a https://stackoverflow.com/users/726106/jeremy-huddleston-sequoia por su explicación detallada.
fuente
Ejecute este comando. La aplicación se reiniciará seguida de cambios. No es necesario reconstruirlo de nuevo.
Para la lista de tipos de dispositivos:
fuente