Лучший инструмент командной строки для установки и переключения между несколькими версиями Xcode.
Если вы ищете версию приложения xcodes
, попробуйте Xcodes.app.
Xcodes теперь является частью XcodesOrg
— подробнее читайте здесь.
brew install xcodesorg/made/xcodes
Это подписанные и нотариально заверенные выпускные сборки, подписанные идентификатором разработчика, и для их использования не требуется установка Xcode.
Другие методы:
Загрузите последнюю версию со страницы «Релизы». Это выпускные сборки, подписанные идентификатором разработчика, и для их использования не требуется уже установленный Xcode.
mint install XcodesOrg/xcodes
Для сборки из исходного кода требуется Xcode 12.0 или новее, поэтому это не вариант для настройки компьютера с нуля.
git clone https://github.com/XcodesOrg/xcodes
cd xcodes
make install
# or, if /usr/local/ isn't in your PATH
PREFIX=/your/install/directory make install
При установке вы можете получить следующий вывод:
swift build
error: terminated(72): xcrun --sdk macosx --find xctest output:
Если это произойдет, это означает, что вам нужно выбрать версию Xcode. Вы можете сделать это с помощью xcode-select
или выбрав параметр «Инструменты командной строки» на вкладке «Местоположения» настроек Xcode.
Установите определенную версию Xcode, используя одну из следующих команд:
xcodes install 10.2.1
xcodes install 11 Beta 7
xcodes install 11.2 GM seed
xcodes install 9.0 --path ~ /Archive/Xcode_9.xip
xcodes install --latest-prerelease
xcodes install --latest --directory " /Volumes/Bag Of Holding/ "
xcodes install --latest --experimental-unxip
Затем вам будет предложено ввести имя пользователя и пароль Apple ID. Вы также можете предоставить их с помощью переменных среды XCODES_USERNAME
и XCODES_PASSWORD
.
После успешной аутентификации xcodes сохранит ваш пароль Apple ID в связке ключей и запомнит ваш Apple ID для использования в будущем. Если вам нужно использовать Apple ID, отличный от того, который вы запомнили, установите переменную среды XCODES_USERNAME
.
xcodes загрузит и установит запрошенную вами версию, чтобы она была готова к использованию.
(1/6) Downloading Xcode 11.2.0: 100%
(2/6) Unarchiving Xcode (This can take a while)
(3/6) Moving Xcode to /Applications/Xcode-11.2.0.app
(4/6) Moving Xcode archive Xcode-11.2.0.xip to the Trash
(5/6) Checking security assessment and code signing
(6/6) Finishing installation
xcodes requires superuser privileges in order to finish installation.
macOS User Password:
Xcode 11.2.0 has been installed to /Applications/Xcode-11.2.0.app
Если у вас установлен aria2 (он доступен в Homebrew, brew install aria2
), то xcodes по умолчанию будет использовать его для загрузки. Он использует до 16 соединений для загрузки Xcode в 3-5 раз быстрее, чем URLSession.
По умолчанию Xcode будет установлен в /Applications, но вы можете указать путь к другому каталогу с помощью параметра --directory
или переменной среды XCODES_DIRECTORY
. Все команды xcodes поддерживают эту опцию, например select
и uninstall
, поэтому вы можете управлять версиями Xcode, которых нет в /Applications. xcodes поддерживает установку всех ваших версий Xcode в одном каталоге, где бы он ни находился.
Запустите эту командную строку, чтобы отобразить доступные среды выполнения.
xcodes runtimes --include-betas
Установите нужную среду выполнения (например, iOS 17.0-beta1)
xcodes runtimes install " iOS 17.0-beta1 "
.xcode-version
Мы рекомендуем создать файл .xcode-version
чтобы явно объявить и сохранить версию Xcode, которая будет использоваться вашей средой CI, а также вашей командой.
13.4.1
Прочтите предложение .xcode-version
.
download <version>
: загрузить определенную версию Xcode.install <version>
: Загрузите и установите определенную версию Xcode.installed
: список установленных версий Xcode.list
: список всех версий Xcode, доступных для установки.select
: изменить выбранный Xcodeuninstall
: удалить определенную версию Xcode.update
: обновить список доступных версий Xcode.version
: Распечатайте номер версии самого xcodes.signout
: очищает сохраненные имя пользователя и пароль.Благодаря потрясающей работе Саагарджи - Xcodes теперь включает возможность распаковки на 70% быстрее в некоторых системах.
xcodes install --latest --experimental-unxip
xcodes может генерировать сценарии завершения, которые позволяют вам нажимать клавишу табуляции на клавиатуре для автозаполнения команд и аргументов при вводе команды xcodes. Действия по установке сценария завершения зависят от используемой вами оболочки. Дополнительную информацию об инструкциях по установке для различных оболочек и базовой реализации можно найти в репозитории Swift-argument-parser.
Выполните следующие команды:
mkdir ~ /.oh-my-zsh/completions
xcodes --generate-completion-script > ~ /.oh-my-zsh/completions/_xcodes
Вам понадобится Xcode 13 для сборки и запуска xcodes.
При запуске xcode из Xcode, если вы хотите запустить определенную команду или передать некоторые аргументы, вы можете удерживать клавишу выбора, чтобы отобразить лист с дополнительными параметрами. Это означает, что вы должны использовать Option + Command + R или удерживать Option , нажимая кнопку «Выполнить». Здесь вы можете добавлять, удалять и переключать аргументы, которые будут переданы в xcodes при его запуске.
swift build
swift run
или такие команды, как swift run xcodes list
swift test
Существует Makefile, помогающий создавать xcodes для распространения. Мы уже делаем это за вас, чтобы предоставлять подписанные и нотариально заверенные версии релизов через Homebrew (см. Установка).
# Bump the version number in Version.swift, commit the change, and tag it
vim Sources/XcodesKit/Version.swift
git add Sources/XcodesKit/Version.swift
git commit -m " Bump version to $VERSION "
git tag -asm " $VERSION " " $VERSION "
# Clean first
make clean
# Make a release build of xcodes, sign it, and zip it
make zip
# Create a Homebrew bottle
make bottle VERSION= " $VERSION "
# Notarize the release build
# This can take a while
make notarize
TEAMID= " ABC123 "
# Push the new version bump commit and tag
git push --follow-tags
# Edit the draft release created by Release Drafter to point at the new tag
# Set the release title to the new version
# Duplicate xcodes-$VERSION.mojave.tar.gz and rename to xcodes-$VERSION.arm64_mojave.tar.gz
# Add the xcodes.zip, xcodes-$VERSION.mojave.tar.gz, xcodes-$VERSION.arm64_mojave.tar.gz files to the release
# Publish the release
# Update the Homebrew Bottle: https://github.com/XcodesOrg/homebrew-made/blob/master/Formula/xcodes.rb
Известные дизайнерские решения зафиксированы в DECISIONS.md. Процесс аутентификации Apple описан в файле Apple.paw, который позволит вам поиграть с конечными точками API, которые задействованы с помощью приложения Paw.
И xcode-install
, и fastlane/spaceship заслуживают похвалы за то, что они разобрались в самых сложных моментах того, что делает это возможным.
Мэтт Киазык - Твиттер