Как установить и использовать несколько версий инструментов командной строки Xcode
У меня есть Macbook pro, работающий под управлением ОС Mojave с Xcode 10.1, и инструменты командной строки установлены в /Application/Xcode.app/Contents/Developer. Для проекта, который у меня есть, xcodebuild вызывается из командной строки.
Я хочу запустить инструмент статического анализа для проекта (инструмент вызывает xcodebuild), который не поддерживает Xcode 10.1 или версии компилятора Swift и Clang, поставляемые с ним. Инструмент в настоящее время поддерживает только Xcode 9.2. Я скачал Xcode 9.2, распаковал и переименовал Xcode.app в Xcode9_2.app и переместил в папку "Приложения".
Я предполагаю, что xcodebuild установлен как часть установки утилит командной строки и что мне нужно установить утилиты командной строки для Xcode 9.2. Однако, когда я пытаюсь установить их, я получаю сообщение "Инструменты командной строки (macOS High Sierra версия 10.13) не могут быть установлены на этот диск. Версия macOS слишком новая". У меня также есть опасение, что старый Xcodebuild может заменить новый, так как он находится в /usr/bin.
Вызов xcodebuild выглядит следующим образом:
xcodebuild -workspace ‘MyApp/MyApp.xcworkspace' -scheme ‘MyApp’ -configuration 'Release' -archivePath MyApp.xcarchive archive
Итак, мой вопрос:
1) Является ли xcodebuild частью инструментов командной строки?
2) Если это как установить различные версии инструментов командной строки? Я предполагаю, что после их установки я могу выбрать что-то вроде:
sudo xcode-select -s /Applications/Xcode9_2.app/Contents/Developer
Но снова я вижу сообщение, запрещающее установку инструментов командной строки Xcode 9.2.
Я также видел этот другой пост SO, но я не думаю, что шаг удаления карантина применим, и я не думаю, что он решает проблему, которую xcodebuild живет в \usr\bin. Также я попытался переименовать Xcode.app версии 10.1, затем переименовать Xcode9_2.app в Xcode.app и запустить в терминале xcode-select --install, но он просто говорит: "Инструменты командной строки уже установлены..."