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 simctlenumerará los comandos. En mi opinión, se explican por sí mismos.xcrun simctl boot <device id>lugar dexcrun instruments -w...bootedcomobootedse 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 listCon 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 listenumera 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.iphonesimulatory 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 listfuente
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 bootes más simple quexcrun instruments -w.instrumentsrequiere 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 helpcomando.fuente
instruments -s devicespara 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.-Dpara 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.plistLuego, 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.appY 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