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
環境変数で指定することもできます。
認証に成功すると、xcode は Apple ID のパスワードをキーチェーンに保存し、将来の使用に備えて 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 はデフォルトでそれをダウンロードに使用します。最大 16 の接続を使用して、URLSession よりも 3 ~ 5 倍高速に Xcode をダウンロードします。
Xcode はデフォルトで /Applications にインストールされますが、 --directory
オプションまたはXCODES_DIRECTORY
環境変数を使用して別のディレクトリへのパスを指定できます。 select
やuninstall
など、すべての xcode コマンドがこのオプションをサポートしているため、 /Applications にない Xcode バージョンを管理できます。 xcode は、すべての Xcode バージョンを1 つのディレクトリにインストールすることをサポートしています。
このコマンド ラインを実行して、利用可能なランタイムを表示します
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% 高速に unxip できる機能が含まれています。
xcodes install --latest --experimental-unxip
xcode は、xcode コマンドを入力するときにキーボードの Tab キーを押してコマンドと引数を自動補完できる補完スクリプトを生成できます。完了スクリプトをインストールする手順は、使用するシェルによって異なります。さまざまなシェルのインストール手順と基礎となる実装の詳細については、swift-argument-parser リポジトリを参照してください。
次のコマンドを実行します。
mkdir ~ /.oh-my-zsh/completions
xcodes --generate-completion-script > ~ /.oh-my-zsh/completions/_xcodes
Xcode をビルドして実行するには、Xcode 13 が必要です。
Xcode から xcode を実行するときに、特定のコマンドを実行するか、いくつかの引数を渡したい場合は、option キーを押したままにして、より多くのオプションを含むシートを表示できます。これは、 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 はどちらも、これを可能にする難しい部分を解明した功績を称えるに値します。
マット・キアジク - Twitter