2015-03-26 17 views

risposta

71

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

Hai 4 di tutti i tipi di dispositivi, quindi ho il sospetto che alcuni di essi siano per la stessa versione di iOS. Dovresti eliminare alcuni dei duplicati. Scopri

xcrun simctl list 

e

xcrun simctl delete 

o andare a Windows> Dispositivi in ​​Xcode per eliminare o rinominare i dispositivi.

+4

Sì, grazie, ho capito fuori. Per ragioni sconosciute c'erano duplicati per tutte le versioni ios. Li ho appena cancellati e tutto diventa perfetto. – Stas

+0

ottima risposta, grazie. – Mutablegopi

+0

Ottima risposta! Interessante .. Qualcuno sa da dove vengono questi duplicati? – Thorax

0
  1. Vai a questo percorso "~/Library/Developer/CoreSimulator/Dispositivi"
  2. eliminare tutti i dispositivi elencati
  3. Riavviare il sistema
  4. Aprire Xcode si vedrà al dispositivo con nome
  5. Se si desidera aggiungere la versione del dispositivo aggiuntivo che è possibile aggiungere da windows-> dispositivi e toccare il pulsante +.
6

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. Si 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 utilizzando Xcode.app prima e dopo l'aggiornamento attraverso l'App Store.

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

1

Ecco una soluzione che non comporta digitando cose da riga di comando. Fai clic su "Aggiungi altri simulatori" nella parte inferiore dell'elenco dei simulatori, quindi fai clic su un simulatore che desideri eliminare, premi Elimina e conferma. Potresti farlo per un po 'se ci sono molti simulatori duplicati. In qualche modo, dopo aver installato il simulatore di iOS 8.4, a circa 20 simulatori di ogni tipo di dispositivo GOT creati per iOS 8.4 ...

Problemi correlati