IOSデバイスで自動テストを実行しています。常にすべてのデバイスを接続する必要はありません。したがって、すべてのデバイスIDを見つけて、そのデバイスが接続されている場合にのみ、テストの構築、展開、および実行のプロセスを開始したいと思います。
私の質問は、シェルスクリプトを使用して、接続されているすべてのデバイスのデバイスUUIDを見つけるにはどうすればよいですか?
ありがとう!
複数のデバイスを使用 に関する同様の質問を見つけました
#!/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
Xcodeがインストールされている場合は、Instrumentsを使用して、既知のすべてのデバイスも取得できます。と
instruments -s devices
@KKendallからの答えは、私を正しい道に導きました。これは、単一のsed式を持つバージョンです。
system_profiler SPUSBDataType | sed -n -E -e '/(iPhone|iPad)/,/Serial/s/ *Serial Number: *(.+)/\1/p'
インストール ideviceinstaller Mac OS Xでbrewコマンドを使用:brew install ideviceinstaller
idevice_id -l
は端末から動作します
ios-deploy も使用できます:
ios-deploy -c | grep -oE 'Found ([0-9A-Za-z\-]+)' | sed 's/Found //g'