web-dev-qa-db-fra.com

Comment trouver les uuid de tous les périphériques connectés via un script de ligne de commande

J'exécute des tests automatisés sur des appareils iOS. Je veux ne pas avoir toujours tous les appareils connectés. Je souhaite donc rechercher tous les identifiants de périphérique, puis lancer uniquement le processus de création, de déploiement et d'exécution de tests si ce périphérique est connecté.

Ma question est donc la suivante: comment puis-je trouver les uuid de tous les périphériques connectés via un script Shell?

Merci!

32
SirRupertIII

J'ai trouvé une question similaire à propos de l'utilisation de plusieurs périphériques voici la forme de la réponse qui m'a aidé:

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

Si vous avez Xcode installé, vous pouvez également utiliser Instruments pour obtenir tous les périphériques connus. Avec

instruments -s devices
40
Quanlong

La réponse de @KKendall m'a mis sur la bonne voie. Voici une version avec une seule expression sed:

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

installer ideviceinstaller sur Mac OS X via la commande brassage: brew install ideviceinstaller

alors idevice_id -l fonctionnera à partir du terminal

10

Aussi ios-deploy peut être utilisé:

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