simctl
Xcode 6 の時点で、これを達成するためにを使用できるはずです。
1) 利用可能なデバイスのリストを取得します。
xcrun simctl list devices
1a)jq
インストール済みであれば、それを使用して、実際に使用可能なデバイスのみを取得できます。
xcrun simctl list devices -j \
| jq -rc '.[] | .[] | .[] | select( .availability | contains( "(available)" ) ) '
1b) iPhone または iPad でさらにフィルタリングすることもできます。
xcrun simctl list devices -j \
| jq -rc '.[] | .[] | .[] | select( .name | contains( "iPhone" ), contains( "iPad" ) ) | select( .availability | contains( "(available)" ) ) '
2) インストール先のデバイスの UDID を取得したら、次の手順を実行します。
xcrun simctl install $DEVICE_UDID /path/to/your/app
2a) または、起動したデバイスにインストールするだけの場合:
xcrun simctl install booted /path/to/your/app
これが本当に便利なのは、すべてのデバイスで同じアプリを実行したい場合です:
1) すべてのシミュレーターをリセット/消去します。
xcrun simctl erase all
2) テストごとに 1 つの Simulator インスタンスを開きます。
open -n /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app
(Ignore the 'Booted' error and switch hardware.)
3) インストールする利用可能なデバイスの UDID を取得します。
DEVICES=$( xcrun simctl list devices -j | jq -rc '.[] | .[] | .[] | select( .name | contains( "iPhone" ), contains( "iPad" ) ) | select( .availability | contains( "(available)" ) ) | select( .state == "Booted" ) | .udid ' )
4) アプリをインストールします (適切なシミュレーター SDK 用にビルドする必要があります)。
for device in DEVICES ; do xcrun simctl install $device /path/to/app ; done
5) 便宜上、各デバイスでアプリを起動します。
for device in $DEVICES ; do xcrun simctl launch $device your.product.app.id ; done