Escolha o simulador iOS via linha de comando

As ferramentas de desenvolvimento do iOS estão longe de ser amigáveis ​​à linha de comando, tornando a automação uma tarefa muito difícil.
Abrir um simulador específico pode ser um grande aborrecimento, então aqui vai uma receita para abrir, compilar, instalar e executar um projeto específico via linha de comando.

build-and-run.sh

#!/bin/bash
# fully close the simulator and open the desired one
killall
'iOS Simulator'
open
-a 'iOS Simulator' --args -CurrentDeviceUDID $UDID

# build:
xcodebuild
-project *.xcodeproj -scheme $SCHEME -sdk iphonesimulator build SYMROOT=Build

# wait until there is a device booted
count
=`xcrun simctl list | grep Booted | wc -l | sed -e 's/ //g'`
while [ $count -lt 1 ]
do
sleep
1
count
=`xcrun simctl list | grep Booted | wc -l | sed -e 's/ //g'`
done

# uninstall old / install new
xcrun simctl uninstall booted $PACKAGE_NAME

xcrun simctl install booted
`readlink Build/**/$APP_NAME.app || echo $PWD/Build/*/$APP_NAME.app`

# run app:
xcrun simctl launch booted $PACKAGE_NAME

Como você pode ver, usamos algumas variáveis ​​de ambiente práticas:
UDID: o id do dispositivo que você deseja usar. isso pode ser encontrado com NOME DOxcrun simctl list
PACOTE : o ID do pacote do aplicativo final
NOME DO APP : o nome do aplicativo sem extensão .app
ESQUEMA: o esquema usado para compilar o projeto.

Como usar:

cd path/to/your/project
bash build
-and-run.sh UDID=XXXX PACKAGE_NAME=com.example.app SCHEME=app APP_NAME=app