it-swarm.com.de

Wie kann ich die Geräte-UUID aller angeschlossenen Geräte über ein Befehlszeilen-Skript finden?

Ich führe automatisierte Tests auf iOS-Geräten durch. Ich möchte nicht immer alle Geräte angeschlossen haben. Daher möchte ich alle Geräte-IDs ermitteln und erst dann den Prozess des Erstellens, Bereitstellens und Durchführens von Tests starten, wenn dieses Gerät angeschlossen ist.

Meine Frage ist also, wie ich die Geräte-Uuids aller angeschlossenen Geräte über ein Shell-Skript finden kann.

Vielen Dank!

32
SirRupertIII

Ich habe eine ähnliche Frage zu mit mehreren Geräten gefunden . Hier ist meine Antwortform, die mir geholfen hat:

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

Wenn Sie Xcode installiert haben, können Sie Instruments verwenden, um auch alle bekannten Geräte zu erhalten. Mit

instruments -s devices
40
Quanlong

Die Antwort von @KKendall hat mich auf den richtigen Weg gebracht. Hier ist eine Version mit einem einzigen Sed-Ausdruck:

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

install ideviceinstaller unter Mac OS X über Brühbefehl: brew install ideviceinstaller

dann funktioniert idevice_id -l vom Terminal aus

10

Auch ios-deploy kann verwendet werden:

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