如何通过命令行脚本找到所有连接设备的设备uuid?

时间:2013-06-21 14:07:13

标签: iphone ios uuid

我在iOS设备上运行自动化测试。我希望不必总是连接所有设备。所以我想找到所有设备ID,然后只在该设备连接时才开始构建,部署和运行测试的过程。

所以我的问题是,如何通过shell脚本找到所有连接设备的设备uuid?

谢谢!

6 个答案:

答案 0 :(得分:43)

如果您安装了 Xcode ,则可以使用乐器来获取所有已知设备。与

instruments -s devices

答案 1 :(得分:17)

@KKendall的回答让我走上了正确的道路。这是一个带有单个sed表达式的版本:

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

答案 2 :(得分:13)

我发现了一个关于using multiple devices的类似问题,这是我帮助我的答案形式:

 #!/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

答案 3 :(得分:10)

通过brew命令在Mac OS X上安装ideviceinstallerbrew install ideviceinstaller

然后idevice_id -l将从终端

开始工作

答案 4 :(得分:2)

还可以使用ios-deploy

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

答案 5 :(得分:0)

如果您具有XCode,请转到“窗口”>“设备和模拟器”。在该页面上,所有已连接的设备将与您设备上的其他ID和统计信息一起显示。这也将通过WIFI连接到设备。