2014-10-23 6 views
37

Da qualche parte durante i vari aggiornamenti di XCode nell'ultimo mese, le versioni di iOS sono cadute dalla selezione del mio simulatore (immagine sotto). Qualcuno sa come risolvere questo?XCode usando GUID invece del numero di versione di iOS in Simulator Selection

XCode simulators showing GUID not iOS version

+1

Essa mostra GUID distinguere tra più simulatori con lo stesso dispositivo e la versione IOS. Se si eliminano i duplicati nella finestra Dispositivi, l'elenco verrà pulito. – Bill

+0

Possibile dupe: http://stackoverflow.com/questions/26211593/ios-simulator-appear-with-udid-in-xcode-6 –

risposta

52

Come risolvere il problema

Xcode utilizza la versione dispositivo per disambiguare dispositivi con lo stesso nome. Se due dispositivi hanno lo stesso nome e numero di versione, utilizzerà gli UDID dei dispositivi.

Si dispone di 4 di ciascuno di un gruppo di dispositivi (ad esempio iPhone 5s). Sospetto che alcuni di loro siano per la stessa versione di iOS. Dovresti eliminare alcuni dei duplicati. Controlla xcrun simctl list e xcrun simctl delete o usa il gestore dei dispositivi in ​​Xcode.app (fai clic su "-" per eliminare un dispositivo).

Come ottenere solo tornare a uno stato predefinito

# Ensure all possible clients of CoreSimulatorService are no longer running: 

killall Xcode 2> /dev/null 
killall Instruments 2> /dev/null 
killall 'iOS Simulator' 2> /dev/null 
killall Simulator 2> /dev/null 
killall 'Simulator (Watch)' 2> /dev/null 
killall ibtoold 2> /dev/null 
killall simctl 2> /dev/null 
# There may be others 

# Kill the service itself 
sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService 

# Remove all the data and logs 
rm -rf ~/Library/*/CoreSimulator 

Perché questo potrebbe accadere:

CoreSimulatorService monitorerà per l'aggiunta di nuovi tempi di esecuzione del simulatore in/Library/Developer/CoreSimulator/Profili (ad es. Per il download da Xcode -> Preferenze -> Download). Quando si installa un nuovo runtime, CoreSimulatorService creerà un set iniziale di dispositivi per quel runtime.

Questo problema si verifica se sono presenti più istanze di CoreSimulatorService in esecuzione contemporaneamente. Ogni istanza di CoreSimulatorService creerà il proprio set di dispositivi (ma i suoi client vedranno solo gli insiemi di tali istanze all'inizio). Nei lanci successivi (ad es .: dopo un riavvio), verranno visualizzate entrambe le copie. Uno può entrare in uno stato in cui sono in esecuzione più copie di CoreSimulatorService allo stesso tempo a causa del test delle versioni beta di Xcode.app nella stessa sessione di accesso come utilizzando Xcode.app rilasciato o dopo aver usato Xcode.app prima e dopo averlo aggiornato attraverso l'App Store.

Se siete a conoscenza di qualsiasi altro modo che questo bug potrebbe venire su, si prega di presentare un nuovo radar a http://bugreport.apple.com

+0

Vorrei aggiungere che è facile aggiungere i simulatori con il pulsante (+) , quindi non preoccuparti di eliminare quelli sbagliati (a meno che tu non abbia dati importanti sul simulatore che vuoi salvare). –

17

Eliminazione di più copie della stessa versione dalla finestra Dispositivi ha fatto il trucco per me.

+7

Questo * fa * risponde alla domanda "Qualcuno sa come risolvere questo?" Mentre Kijit Desai non ipotizza il motivo per cui vengono visualizzati più simulatori della stessa versione, il metodo più diretto per rispondere a questa situazione è quello di eliminare i duplicati della versione-sim dalla finestra Dispositivi di Xcode. – greymouser