Swift 命令速查表 - Swift 常用命令与 iOS 开发大全
这套速查给用 Swift 交付 iOS/macOS 应用、命令行工具或服务端代码的开发者,横跨两条工具链:Swift / SwiftPM 的命令行,以及 xcodebuild / xcrun simctl。覆盖从脚本编译运行、初始化并构建 Swift 包、对某个 scheme 构建/测试/归档,到驱动模拟器,再加上 let/var、可选绑定、map/filter/reduce 等语法惯用法和断言调试。与一条条堆 Swift 命令不同,条目沿"编译→测试→归档→模拟器运行"的真实循环编排。读完应能把一个包从 swift package init 一路带到通过的 swift test,并在终端驱动整个 Xcode scheme。
编译与运行 6
swift main.swift运行 Swift 脚本
swiftc main.swift -o main编译为可执行文件
swift main.swiftc进入 REPL
swift -e "print("Hello")"执行单行代码
swift package init --type executable初始化可执行包
swift package init --type library初始化库包
Swift Package Manager 8
swift build按 Package.swift 编译项目,产物在 .build 目录,调试期最常用
swift build -c release以 release 优化编译,交付或压测性能时用这个构建
swift run编译并运行可执行 target,等同 build 再手动跑产物
swift test跑 XCTest 单元测试,失败会以非零退出码返回,可在 CI 里拦截回归
swift package resolve按 Package.resolved 拉齐依赖到锁定版本,首次 clone 后先跑它
swift package update把依赖更新到满足约束的最新版本并刷新解析文件
swift package reset清空 .build 缓存重新完整构建,解决疑难的增量编译问题
swift package show-dependencies以树形打印依赖关系,看清每个包的来源与版本
Xcode 命令行 7
xcodebuild -list列出工程里的 scheme 与 target,先确定要用哪个名字
xcodebuild -scheme MyApp build对指定 scheme 做一行构建,配合 -destination 可指定模拟器/真机
xcodebuild -scheme MyApp test运行该 scheme 的测试并在终端输出结果,适合 CI 无 UI 环境下跑测试
xcodebuild archive -scheme MyApp打包归档出用于分发/上架的 .xcarchive,可再导出 ipa
xcrun simctl list devices列出所有可用模拟器及其 UDID/状态,作为后续 boot/install 的参数来源
xcrun simctl boot <device-id>启动指定模拟器(用 simctl list 拿到的 id)
xcrun simctl install booted MyApp.app把构建好的 .app 安装进当前已启动的模拟器,供手工点验
常用语法 8
var name: String = "Swift"用 var 声明可变变量,赋值后仍可改
let age: Int = 18用 let 声明常量,赋值后不可再改,Swift 里默认值优先用 let
if let value = optional { ... }可选绑定:解开 optional 后在此作用域内以非空 value 使用,躲开不定解包
guard let value = optional else { return }提前退出:条件不满足立即 return/continue,把坏路径收敛在函数开头
array.map { $0 * 2 }对每个元素应用闭包,返回长度相同的新数组,常做模型转换
array.filter { $0 > 5 }保留满足闭包条件的元素,返回新数组不动原数组
array.reduce(0) { $0 + $1 }从初值 0 起把相邻结果累积为一个值,求和/拼接常用
for (index, value) in array.enumerated()带索引遍历,同时拿到位置 index 与元素 value
调试与性能 5
print("debug: \(variable)")打印调试信息
debugPrint(object)详细打印(含类型)
assert(condition, "message")断言(debug 模式)
precondition(condition, "message")前置条件(所有模式)
Instruments性能分析工具(Xcode 内置)
提示
- swift package init 生成的 Package.swift 是 SPM 的配置文件。
- 可选类型 ? 是 Swift 空安全的核心,尽量用 if let / guard let 解包。
- xcodebuild 命令行适合 CI/CD 自动化构建和测试。
由 巧匠 维护
公开更新于 2026年7月21日,内容持续校对官方文档。