安裝和切換多個 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 不同的 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,速度比 URLSession 快 3-5 倍。
預設情況下,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
我們建議建立.xcode-version
檔案來明確聲明和儲存供您的 CI 環境以及您的團隊使用的 Xcode 版本。
13.4.1
閱讀.xcode-version
的提案。
download <version>
: 下載特定版本的 Xcodeinstall <version>
:下載並安裝特定版本的 Xcodeinstalled
:列出已安裝的Xcode版本list
:列出所有可安裝的 Xcode 版本select
: 更改選定的 Xcodeuninstall
: 卸載特定版本的 Xcodeupdate
: 更新 Xcode 可用版本列表version
: 列印 xcodes 本身的版本號signout
:清除儲存的使用者名稱和密碼感謝 saagarjhi 的出色工作 - Xcode 現在能夠在某些系統上將 unxip 速度提高 70%。
xcodes install --latest --experimental-unxip
xcodes 可以產生補全腳本,讓您在鍵入 xcodes 指令時按下鍵盤上的 Tab 鍵自動補全指令和參數。安裝完成腳本的步驟取決於您使用的 shell。有關不同 shell 的安裝說明和底層實現的更多信息,請參閱 swift-argument-parser 存儲庫。
運行以下命令:
mkdir ~ /.oh-my-zsh/completions
xcodes --generate-completion-script > ~ /.oh-my-zsh/completions/_xcodes
您需要 Xcode 13 才能建置和運行 Xcode。
從 Xcode 執行 xcode 時,如果您想要執行特定命令或傳遞一些參數,可以按住 option 鍵以顯示包含更多選項的工作表。這表示您可以使用Option + Command + R或在按一下「執行」按鈕時按住Option 。您可以在此處新增、刪除和切換啟動時傳遞給 xcode 的參數。
swift build
swift run
,或像swift run xcodes list
這樣的指令swift test
有一個 Makefile 可以幫助建立用於分發的 xcode。我們已經為您做到了這一點,以便透過 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.paw 中描述了 Apple 身份驗證流程,它允許您使用 Paw 應用程式涉及的 API 端點。
xcode-install
和 fastlane/spaceship 都值得讚揚,因為它們找出了使這成為可能的困難部分。
馬特基亞克 - Twitter