Подтвердить что ты не робот

XCode с использованием GUID вместо номера версии iOS в Simulator Selection

Где-то во время различных обновлений XCode за последний месяц версии iOS упали из моего выбора симулятора (рисунок ниже). Кто-нибудь знает, как это разрешить?

XCode simulators showing GUID not iOS version

4b9b3361

Ответ 1

Как исправить его

Xcode использует версию устройства для устранения неоднозначности устройств с тем же именем. Если два устройства имеют одинаковое имя и номер версии, они будут использовать UDID устройств.

У вас есть 4 каждого из множества устройств (например, iPhone 5s). Я подозреваю, что некоторые из них предназначены для той же версии iOS. Вы должны удалить некоторые дубликаты. Проверьте xcrun simctl list и xcrun simctl delete или используйте диспетчер устройств в Xcode.app(нажмите "-", чтобы удалить устройство).

Как только вернуться к состоянию по умолчанию

# 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

Почему это может происходить:

CoreSimulatorService будет следить за добавлением новых сеансов симулятора в /Library/Developer/CoreSimulator/Profiles (например, при загрузке их из Xcode → Настройки → Загрузки). При установке новой среды выполнения CoreSimulatorService создаст исходный набор устройств для этой среды выполнения.

Эта проблема возникает, если одновременно запущено несколько экземпляров CoreSimulatorService. Каждый экземпляр CoreSimulatorService создаст свой собственный набор устройств (но его клиенты будут видеть, что экземпляры сначала устанавливаются). При последующих запусках (например: после перезагрузки) будут показаны обе копии. Можно перейти в состояние, когда одновременно запускаются несколько копий CoreSimulatorService из-за тестирования бета-версий Xcode.app в том же сеансе входа в систему, что и при использовании выпущенного Xcode.app, или путем использования Xcode.app до и после обновления через App Store.

Если вам известно о каком-либо другом способе, с которым может произойти эта ошибка, пожалуйста, напишите новый радар в http://bugreport.apple.com

Ответ 2

Удаление нескольких копий одной и той же версии из окна "Устройства" сделало трюк для меня.

Ответ 3

Я нашел этот script самым эффективным. Я очищаю список существующих симуляторов, чем перестраивает его на основе установленных платформ.

См. https://gist.github.com/cabeca/cbaacbeb6a1cc4683aa5