布局、产品与构建/测试/运行
了解 SwiftPM 的布局(Sources/ 和 Tests/)、产品(可执行文件与库),以及如何使用 CLI 进行构建、测试和运行。
布局、产品与构建/测试/运行 是 CoddyKit 上的免费 Swift Academy 课时。 这是第 2 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Swift Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Swift Academy 课程共包含 3 节课。
概述
本课介绍 SwiftPM 的布局、产品如何映射到目标,以及使用 CLI 进行构建/测试/运行。
文件夹布局
SwiftPM 要求使用源代码目录和测试目录。每个目标都有自己的文件夹。
let tree = """
MyPkg/
├─ Package.swift
├─ Sources/
│ ├─ MyLib/ // library target sources
│ │ └─ MyLib.swift
│ └─ MyApp/ // executable target sources (main.swift)
│ └─ main.swift
└─ Tests/
├─ MyLibTests/
│ └─ MyLibTests.swift
└─ MyAppTests/
└─ MyAppTests.swift
"""
print(tree)产品与目标
产品公开目标:库用于复用,可执行文件用于应用/CLI。测试位于testTarget下。
let manifest = """
// Package.swift (illustrative)
import PackageDescription
let package = Package(
name: "MyPkg",
products: [
.library(name: "MyLib", targets: ["MyLib"]),
.executable(name: "MyApp", targets: ["MyApp"])
],
targets: [
.target(name: "MyLib"),
.executableTarget(name: "MyApp", dependencies: ["MyLib"]),
.testTarget(name: "MyLibTests", dependencies: ["MyLib"])
]
)
"""
print(manifest)库与可执行文件
库公开编程接口;可执行文件具有main.swift入口点,并且可以依赖该库。
// Library code (Sources/MyLib/MyLib.swift)
public struct Greeter {
public init() {}
public func hello(_ name: String) -> String { "Hello, \\(name)" }
}
// Executable entry (Sources/MyApp/main.swift)
let g = Greeter()
print(g.hello("World"))CLI 基础
使用 CLI:swift 构建、swift 运行 <可执行文件>和swift 测试。添加-c release可进行优化构建。
let cmds = """
# Build (debug by default)
swift build
# Run an executable product
swift run MyApp
# Execute tests (XCTest)
swift test
# Release build (optimized)
swift build -c release
"""
print(cmds)构建产物与提示
输出位于构建目录中。请让目标各司其职,并将测试放在测试目录/<目标>测试下。
let notes = """
Artifacts live under .build/:
• debug/ and release/ contain compiled products
• x86_64-apple-macosx / arm64-apple-* vary by platform/arch
Tips:
• Keep one target per responsibility
• Name products simply; match target folders
• Put tests in Tests/<TargetName>Tests
"""
print(notes)运行测试
快速检查:哪个命令可以运行测试?
回顾
回顾:使用标准的源代码目录和测试目录布局,将目标映射到产品,并使用swift 构建、swift 运行和swift 测试。
常见问题解答
「布局、产品与构建/测试/运行」课时是免费的吗?
是的 — 「布局、产品与构建/测试/运行」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Swift Academy 课程的其余内容,请升级到 CoddyKit PRO。 Swift Academy 课程共包含 3 节课。
「布局、产品与构建/测试/运行」这节课中我会学到什么?
了解 SwiftPM 的布局(Sources/ 和 Tests/)、产品(可执行文件与库),以及如何使用 CLI 进行构建、测试和运行。 你通过在浏览器中直接运行的动手代码来练习 Swift Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Swift Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Swift Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 3 节。
「布局、产品与构建/测试/运行」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Swift Academy 课中编写并运行代码吗?
能。每节 Swift Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- Swift Package Manager 基础
- 布局、产品与构建/测试/运行
- 导入模块与语义化版本基础