2014-10-23 12 views
37

Gdzieś podczas różnych aktualizacji kodu X w poprzednim miesiącu wersje iOS zostały usunięte z mojego wyboru symulatora (obrazek poniżej). Ktoś wie, jak rozwiązać ten problem?Kod X przy użyciu identyfikatora GUID zamiast numeru wersji systemu iOS w wyborze symulatora

XCode simulators showing GUID not iOS version

+1

To pokazuje GUID odróżnić wielu symulatorów z tego samego urządzenia i wersji iOS. Jeśli usuniesz duplikaty w oknie Urządzenia, lista zostanie wyczyszczona. – Bill

+0

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

Odpowiedz

52

Jak naprawić

Xcode wykorzystuje wersję urządzenia do disambiguate urządzeń o tej samej nazwie. Jeśli dwa urządzenia mają tę samą nazwę i numer wersji, będą używać identyfikatorów UDID urządzeń.

Masz 4 z każdego z kilku urządzeń (np. IPhone 5s). Podejrzewam, że niektóre z nich dotyczą tej samej wersji iOS. Powinieneś usunąć niektóre duplikaty. Sprawdź xcrun simctl list i xcrun simctl delete lub użyj menedżera urządzeń w Xcode.app (kliknij "-", aby usunąć urządzenie).

Jak tylko wrócić do stanu domyślnego

# 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 

Dlaczego to może się dziać:

CoreSimulatorService będzie monitorować za dodanie nowych czasy pracy symulator w/Library/Developer/CoreSimulator/Profiles (np. Podczas pobierania ich z Xcode -> Preferencje -> Pobieranie). Podczas instalowania nowego środowiska wykonawczego CoreSimulatorService utworzy początkowy zestaw urządzeń dla tego środowiska wykonawczego.

Ten problem pojawia się, jeśli w tym samym czasie uruchomionych jest wiele instancji usługi CoreSimulatorService. Każda instancja CoreSimulatorService utworzy własny zestaw urządzeń (ale jej klienci zobaczą początkowo tylko zestawy instancji). Przy kolejnych uruchomieniach (np. Po ponownym uruchomieniu), obie kopie będą widoczne. Można przejść do stanu, w którym wiele kopii CoreSimulatorService jest uruchomionych w tym samym czasie z powodu testowania wersji beta Xcode.app w tej samej sesji logowania, co przy użyciu wydanego Xcode.app lub przez użycie Xcode.app przed i po aktualizacji przez App Store.

Jeśli jesteś świadomy jakikolwiek inny sposób, że ten błąd może dojść, należy złożyć nowy radar na http://bugreport.apple.com

+0

Dodam, że można łatwo dodać symulatory za pomocą przycisku (+) , więc nie martw się zbytnio o usunięcie niewłaściwego (ych) (chyba że masz ważne dane na temat symulatora, który chcesz zapisać). –

17

Usuwanie wielu kopii tej samej wersji z okna Devices wystarczyły dla mnie.

+7

To * robi * odpowiedź na pytanie "Ktoś wie, jak rozwiązać ten problem?" Podczas gdy Kijit Desai nie stawia hipotezę, dlaczego pojawia się wiele symulatorów tej samej wersji, najbardziej prostą odpowiedzią (całą z samego Xcode), aby rozwiązać tę sytuację, jest rzeczywiście usunięcie duplikowanych-wersjonowanych-simów z okna urządzeń Xcode. – greymouser