여러 버전의 Xcode를 설치하고 전환하는 데 가장 적합한 명령줄 도구입니다.
xcodes
의 앱 버전을 찾고 있다면 Xcodes.app을 사용해 보세요.
Xcodes는 이제 XcodesOrg
의 일부입니다. 여기에서 자세한 내용을 읽어보세요.
brew install xcodesorg/made/xcodes
이는 개발자 ID로 서명되고 공증된 릴리스 빌드이며 사용하기 위해 Xcode를 이미 설치할 필요가 없습니다.
다른 방법:
릴리스 페이지에서 최신 릴리스를 다운로드하세요. 이는 개발자 ID로 서명된 릴리스 빌드이며 사용하기 위해 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
) xcode는 기본적으로 다운로드에 이를 사용합니다. URLSession보다 3~5배 빠르게 Xcode를 다운로드하기 위해 최대 16개의 연결을 사용합니다.
Xcode는 기본적으로 /Applications에 설치되지만 --directory
옵션 또는 XCODES_DIRECTORY
환경 변수를 사용하여 다른 디렉터리에 대한 경로를 제공할 수 있습니다. 모든 xcodes 명령은 select
및 uninstall
과 같은 이 옵션을 지원하므로 /Applications에 없는 Xcode 버전을 관리할 수 있습니다. xcodes는 모든 Xcode 버전이 어디에 있든 하나의 디렉토리에 설치되도록 지원합니다.
사용 가능한 런타임을 표시하려면 이 명령줄을 실행하세요.
xcodes runtimes --include-betas
원하는 런타임 설치(예: iOS 17.0-beta1)
xcodes runtimes install " iOS 17.0-beta1 "
.xcode-version
CI 환경과 팀에서 사용할 Xcode 버전을 명시적으로 선언하고 저장하려면 .xcode-version
파일을 생성하는 것이 좋습니다.
13.4.1
.xcode-version
제안을 읽어보세요.
download <version>
: 특정 버전의 Xcode를 다운로드합니다.install <version>
: 특정 버전의 Xcode를 다운로드하고 설치합니다.installed
: 설치된 Xcode 버전을 나열합니다.list
: 설치할 수 있는 모든 Xcode 버전을 나열합니다.select
: 선택한 Xcode를 변경합니다.uninstall
: 특정 버전의 Xcode를 제거합니다.update
: 사용 가능한 Xcode 버전 목록을 업데이트합니다.version
: xcode 자체의 버전 번호를 인쇄합니다.signout
: 저장된 사용자 이름과 비밀번호를 지웁니다.saagarjhi의 놀라운 작업 덕분에 이제 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를 빌드하고 실행하려면 Xcode 13이 필요합니다.
Xcode에서 xcode를 실행할 때 특정 명령을 실행하거나 일부 인수를 전달하려는 경우 옵션 키를 길게 눌러 더 많은 옵션이 포함된 시트를 표시할 수 있습니다. 이는 Option + Command + R을 사용하거나 Option을 누른 상태에서 실행 버튼을 클릭한다는 의미입니다. 여기서 xcode가 실행될 때 전달될 인수를 추가, 제거 및 전환할 수 있습니다.
swift build
swift run
또는 swift run xcodes list
와 같은 명령swift test
배포용 xcode를 빌드하는 데 도움이 되는 Makefile이 있습니다. Homebrew를 통해 개발자 ID 서명 및 공증된 릴리스 빌드를 제공하기 위해 이미 이 작업을 수행하고 있습니다(설치 참조).
# 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에 설명되어 있으며 이를 통해 Paw 앱 사용과 관련된 API 엔드포인트를 사용할 수 있습니다.
xcode-install
과 fastlane/spaceship 모두 이를 가능하게 하는 어려운 부분을 알아낸 공로를 인정받을 만합니다.
매트 키아지크 - 트위터