Эта ошибка обычно вызвана обновлением или переключением версии Xcode при запуске com.apple.CoreSimulator.CoreSimulatorService
. Xcode (включая xcodebuild
) использует Simulator для обработки файлов XIB/Storyboard при создании для iOS/tvOS/watchOS, поэтому, даже если вы не запустите Simulator.app, только запуск сборки может запустить CoreSimulator.
Эта проверка гарантирует, что служба XPC, запущенная с помощью запуска, соответствует библиотеке. В вашем случае он не работает, указывая, что startd начал старую версию CoreSimulator.
Если ваша система CI повторно использует экземпляры с установленными несколькими версиями Xcode, вам необходимо убедиться, что сеанс пользователя полностью отключен и что ни один другой экземпляр службы XPC не запущен до начала следующей сборки.
Если вы пытаетесь переключаться между версиями Xcode в одной и той же сборке, вам необходимо вставить скрипт в sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService 2> /dev/null
после вашего xcode-select
. Убедитесь, что Xcode, Simulator.app и Console.app закрыты или их попытки создать соединение XPC просто заставят launchd немедленно запустить задание.
Пользователю не нужно выходить из системы при переключении версий Xcode. Запуск Xcode, Simulator, xcodebuild и т. Д. Приведет к тому, что новый процесс выгрузит старый CoreSimulatorService, если он не соответствует и не загружает его. Это сообщение об ошибке указывает, что даже после этого задание не совпало. Это обычно указывает на то, что в процессе запуска есть гонка. Одновременно запускается несколько разных X-кодов. Это не поддерживаемая конфигурация. –