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
Odpowiedz
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
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ć). –
Usuwanie wielu kopii tej samej wersji z okna Devices wystarczyły dla mnie.
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
Znalazłem ten skrypt jako najbardziej wydajny. Usuwam listę istniejących symulatorów, a następnie odbudowuję ją na podstawie zainstalowanych platform.
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
Możliwe dupe: http://stackoverflow.com/questions/26211593/ios-simulator-appear-with-udid-in-xcode-6 –