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!
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
Si vous avez Xcode installé, vous pouvez également utiliser Instruments pour obtenir tous les périphériques connus. Avec
instruments -s devices
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'
installer ideviceinstaller sur Mac OS X via la commande brassage: brew install ideviceinstaller
alors idevice_id -l
fonctionnera à partir du terminal
Aussi ios-deploy peut être utilisé:
ios-deploy -c | grep -oE 'Found ([0-9A-Za-z\-]+)' | sed 's/Found //g'