背景
在 macOS 上做 Swift 开发(swift test / XCTest)必须有完整 Xcode——Command Line Tools 不带 XCTest.framework,import XCTest 会直接 no such module。当前 x-cmd install 没有 macOS 的 Xcode 安装链路。建议补 3 个 recipe,正好串成一条完整工作流(实际场景:macli / maclisten / macvision / macmlx 这几个 Swift CLI 项目本地跑 swift test 都卡在这一步)。
1️⃣ mas — Mac App Store CLI
mas install 497799835 # 装 Xcode(App Store 固定 ID)
mas list # 列出已装 App
mas upgrade # 全部升级
mas search xcode # 搜索
⚠️ mas signin 在新 macOS 上已坏,需先在 App Store.app 手动登一次 Apple ID;之后 mas install 可纯 CLI。
2️⃣ xcodes — Xcode 版本管理器 / 安装器(多线程下载,可装指定版本)
xcodes install --latest # 装最新版(aria2 多线程,需登 Apple ID + 2FA)
xcodes installed # 列出已装版本
xcodes select 16.0 # 切换当前 Xcode
xcodes listall # 列出所有可用版本
3️⃣ xcode — 完整 Xcode(核心目标)
x install xcode 编排上面任一渠道(优先 xcodes,回退 mas install 497799835),并自动跑收尾步骤——这才是 x-cmd 真正的增值点:
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -license accept
sudo xcodebuild -runFirstLaunch
xcode-select -p # 验证:应指向 Xcode.app/Contents/Developer
为什么进 x-cmd install
swift test / XCTest 必须完整 Xcode,CLT 没有 XCTest.framework。
- 这三个串起来 = macOS Swift 开发的完整本地回归链路。
- x-cmd 已有跨包管理器抽象(brew / scoop / apt / pixi),mas / xcodes / xcode 是 macOS 缺的最后一块。
- 收尾三步(
xcode-select -s / license accept / runFirstLaunch)自动化后,x install xcode 一条命令出可用环境,比裸 mas install 体验强很多。
背景
在 macOS 上做 Swift 开发(
swift test/ XCTest)必须有完整 Xcode——Command Line Tools 不带XCTest.framework,import XCTest会直接no such module。当前 x-cmd install 没有 macOS 的 Xcode 安装链路。建议补 3 个 recipe,正好串成一条完整工作流(实际场景:macli / maclisten / macvision / macmlx 这几个 Swift CLI 项目本地跑swift test都卡在这一步)。1️⃣
mas— Mac App Store CLIbrew install mas2️⃣
xcodes— Xcode 版本管理器 / 安装器(多线程下载,可装指定版本)brew install xcodes(或mint install XcodesOrg/xcodes)3️⃣
xcode— 完整 Xcode(核心目标)x install xcode编排上面任一渠道(优先xcodes,回退mas install 497799835),并自动跑收尾步骤——这才是 x-cmd 真正的增值点:sudo xcode-select -s /Applications/Xcode.app/Contents/Developer sudo xcodebuild -license accept sudo xcodebuild -runFirstLaunch xcode-select -p # 验证:应指向 Xcode.app/Contents/Developer为什么进 x-cmd install
swift test/ XCTest 必须完整 Xcode,CLT 没有XCTest.framework。xcode-select -s/license accept/runFirstLaunch)自动化后,x install xcode一条命令出可用环境,比裸mas install体验强很多。