web-dev-qa-db-ja.com

コマンドラインスクリプトを使用して、接続されているすべてのデバイスのデバイスUUIDを見つけるにはどうすればよいですか?

IOSデバイスで自動テストを実行しています。常にすべてのデバイスを接続する必要はありません。したがって、すべてのデバイスIDを見つけて、そのデバイスが接続されている場合にのみ、テストの構築、展開、および実行のプロセスを開始したいと思います。

私の質問は、シェルスクリプトを使用して、接続されているすべてのデバイスのデバイスUUIDを見つけるにはどうすればよいですか?

ありがとう!

37
SirRupertIII

複数のデバイスを使用 に関する同様の質問を見つけました

 #!/bin/sh
 i=0
 for line in $(system_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p' -e '/iPhone/,/Serial/p' | grep "Serial Number:" | awk -F ": " '{print $2}'); do
    UDID=${line}
    echo $UDID
    udid_array[i]=${line}
    i=$(($i+1))
 done

 cnt=${#udid_array[@]}
 for ((i=0;i<cnt;i++)); do
    echo ${udid_array[i]}
 done
13
SirRupertIII

Xcodeがインストールされている場合は、Instrumentsを使用して、既知のすべてのデバイスも取得できます。と

instruments -s devices
49
Quanlong

@KKendallからの答えは、私を正しい道に導きました。これは、単一のsed式を持つバージョンです。

system_profiler SPUSBDataType | sed -n -E -e '/(iPhone|iPad)/,/Serial/s/ *Serial Number: *(.+)/\1/p'
18
Jay Lieske

インストール ideviceinstaller Mac OS Xでbrewコマンドを使用:brew install ideviceinstaller

idevice_id -lは端末から動作します

11

ios-deploy も使用できます:

ios-deploy -c | grep -oE 'Found ([0-9A-Za-z\-]+)' | sed 's/Found //g'
2
Degard