Swift.org 于 2026 年 9 月 15 日发布 Swift 6.4 正式版。Swift 6.4 发布公告 要用 Swift 6.4 创建 Swift Package,建议先确认 Mac 终端实际调用的 Swift 工具链,再用 Swift Package Manager 模板生成一个小型库或命令行练习,最后构建并测试。若安装页显示 release/6.4.x 快照,先把它视为预发布工具链;课程没有要求时,不要用它替换稳定的作业环境。
适合刚开始学习 Swift、第一次需要创建可构建项目的学生。
使用 Windows 或学校电脑、课程需要 macOS 环境的学生,可据此判断何时转到远程 Mac。
课程指定 Swift 版本的学习者,适合先检查工具链状态,避免预发布版本影响正式作业。
最后更新于 2026 年 10 月 5 日;版本状态与操作步骤核对自 Swift.org 和 Apple Developer 官方资料。
[ SECTION_01 ] 开始前:确认课程交付物
Swift Package 是组织 Swift 源码、项目清单和测试的项目形式,可以把它想成一套按规则摆放好的练习文件。它适合组织、构建和测试 Swift 代码,但不等同于完整的 iOS App 工程。Swift Package 的组成与用途
先看课程要求提交什么,再选项目类型:
- 库(library):课程要练习可复用的函数、类型或模块时,选库模板。其他 Swift 代码之后可以导入并使用库公开的接口。
- 命令行程序(executable):课程要在终端运行程序、查看文本结果时,选可执行程序模板。
- Xcode App 项目:课程要求 SwiftUI 界面、iOS 模拟器或 Apple 平台 App 时,通常应按课程指引用 Xcode 创建对应工程。不要把单独的 Package 当成完整 App 工程提交。
按作业目标看适配度:练习可复用代码,库为“高”、命令行为“中”;练习终端输出,命令行为“高”、库为“中”;开发 iOS 界面,Xcode App 项目为“高”、单独 Package 为“低”。这是按任务类型作出的选择建议,不是性能测试结果。
[ SECTION_02 ] 环境检查:确认终端实际调用的 Swift 版本
打开终端,运行:
swift --version
输出显示终端当前找到的 Swift 编译器版本。Swift 工具链可以理解为编译和开发工具箱;Swift Package Manager(简称 SwiftPM)则负责创建、构建、运行和测试 Swift Package。SwiftPM 随 Swift 工具链提供,Swift.org 的命令行教程也用这条命令检查 Swift 是否可用。Swift.org 命令行项目入门
macOS 上的 Swift 可能来自 Xcode 自带工具链,也可能来自 Swift.org 提供的独立工具链。若电脑安装过不止一套开发工具,再运行:
xcode-select -p
这会显示当前选中的开发者目录。Apple 说明,Xcode 与独立的 Command Line Tools 都能提供命令行开发工具;使用哪套工具会影响终端里的开发环境。课程要求 Xcode 时,优先核对课程指定的 Xcode 环境;课程只要求命令行 Swift 练习时,再确认它认可的工具链。学校设备或托管环境不允许安装软件时,应遵守设备管理规则,不要尝试绕过限制。Apple 的 Command Line Tools 说明
Swift.org 的 macOS 安装页区分正式发布版和开发快照,并说明快照不是正式发布版本,也没有经过正式版的完整测试流程。当前页面列出的 release/6.4.x 属于开发快照;Swift 6.4 正式版则已于 2026 年 9 月 15 日发布。看到相近的版本名称时,不要因此把两者当成同一种工具链。Swift.org macOS 安装与快照信息
若课程指定版本,以课程要求优先。没有指定时,先用现有且能正常构建项目的工具链;安装额外版本前,先确认如何切换回原有环境。Swift.org 的安装资料包含 Swiftly 的工具链安装和管理指引,第一次练习不必为了尝试而同时装多个版本。
[ SECTION_03 ] 项目生成:用 SwiftPM 初始化练习项目
确认终端能找到 Swift 后,先创建独立练习目录。下面以命令行程序为例:
mkdir HelloCLI
cd HelloCLI
swift package init --name HelloCLI --type executable
mkdir 新建练习文件夹,cd 进入文件夹;--name 指定项目名称,--type executable 选择命令行程序模板。Swift.org 的入门示例使用相同命令创建项目,并展示生成的项目文件。命令行模板与初始化命令
如果课程练习要创建库,可以改用库模板:
mkdir HelloLibrary
cd HelloLibrary
swift package init --name HelloLibrary --type library
库模板会生成 Package.swift、Sources 和 Tests 等项目文件。Package.swift 是项目清单,类似收纳盒上的目录卡片,描述包的组成;Sources 放要构建的源码;Tests 放检查源码行为的测试。初次练习先不要自行添加依赖或修改复杂配置,模板已经足够开始写代码。Swift.org 的库项目创建指南
[ SECTION_04 ] 源码修改:从模板开始完成小功能
打开新建的项目目录,只修改模板生成的练习源码。命令行项目可以先改动模板中的输出文字,再运行程序确认结果;库项目可以从模板已有的函数或类型开始,修改后检查测试结果。第一次的目标是确认编辑的代码参与构建,不必一开始就增加第三方依赖。
编辑前确认打开的是刚才创建的项目目录。通过远程桌面操作时,编辑器里显示的文件可能位于远程 Mac,而不是 Windows 本机。若不确定,可在终端运行 pwd 查看当前路径,并在编辑器中核对项目位置。
Package.swift 是项目清单,不是日常练习代码的默认存放位置。增加依赖会带来下载、构建和版本协调等额外环节;先完成无额外依赖的练习,再按课程要求添加依赖,更容易分辨问题来自哪里。
[ SECTION_05 ] 项目验收:完成构建、运行与测试
以下命令都要在包含 Package.swift 的项目根目录执行。SwiftPM 支持用 swift build 构建项目、用 swift run 构建并运行可执行程序、用 swift test 构建并运行测试。命令行练习的典型流程是:
swift build
swift run
构建成功后,终端会显示构建结果;运行成功后,应能看到程序输出。课程要求测试时,还要确认项目里存在测试目标,再运行:
swift test
库项目通常要检查构建和测试结果:
swift build
swift test
测试是否通过,以终端实际报告为准;若有失败,先读失败测试给出的信息,不要只凭项目能编译就认定验收完成。Swift.org 的测试指南介绍了 Swift Package 的测试组织与运行方式。Swift.org 测试指南
如果作业还要求 Xcode、模拟器或 xcodebuild,单靠 SwiftPM 命令行练习不能替代完整的 Xcode 工程。Apple 的命令行工具参考说明,xcodebuild 等工具随 Xcode 提供;课程涉及这些工具时,先确认当前环境是否安装并选中了符合要求的 Xcode。Apple 的 Xcode 命令行工具参考
[ SECTION_06 ] 失败排查:从目录和版本开始
构建或测试失败,不要立刻归因于 Swift 版本。按顺序检查:
- 核对目录:运行
pwd,再运行ls,确认当前目录包含Package.swift。若没有,先回到项目根目录。 - 核对实际版本:再次运行
swift --version,与课程要求比较。电脑曾安装过某版本,不代表当前终端正在使用它。 - 核对项目类型:库项目应检查库源码和测试目标;命令行项目应尝试运行程序。不要把“没有可运行程序”和“编译失败”混为一谈。
- 读最先出现的错误:先处理终端最早报告的路径或编译问题,再重新构建。之后的错误可能是前一个问题引起的。
- 回到作业要求:若课程要求 iOS App、模拟器或 Xcode 工程,重新确认项目类型。Swift Package 构建成功,不代表 App 作业已经完成。
提交前逐项确认:
- [ ] 当前终端能运行
swift --version,且版本符合课程要求。 - [ ] 项目目录内有
Package.swift,源码保存在正确的项目位置。 - [ ] 项目类型符合任务:库、命令行程序或 Xcode App 工程没有选错。
- [ ]
swift build成功;命令行练习还确认了swift run的输出。 - [ ] 课程要求测试时,
swift test已实际运行,并保留提交所需的源码与测试文件。
[ SECTION_07 ] 完成后:按课程要求选择环境
首次练习验收后,保存整个项目目录,并按课程要求保留源码、清单和测试文件。若现有设备能完成构建、运行和测试,就继续使用现有环境;只为创建 Swift Package,不一定需要 Mac。
如果课程后续明确要求 macOS、Xcode 或 iOS 模拟器,而手边只有 Windows 或受管理的学校电脑,命令行 Swift 工具链不能替代这些 Apple 平台工具。可先查看 NOVAKVM 远程 Mac 环境入口,核对访问方式是否适合课程任务;也可查看 NOVAKVM 的 Mac 方案说明,再决定是否需要临时使用远程 Mac。
与现有 Windows 环境相比,可能缺少课程指定的 Xcode 和模拟器;学校设备也可能不允许安装软件;自行搭建其他系统环境则可能遇到课程不支持或工具链不一致的问题。若只是短期完成 macOS 专属练习,远程 Mac 可以作为按需选择。若需要长期稳定的重负载开发,或必须连接本地实体设备与接口,则应先评估自有 Mac 或本地环境是否更合适。课程能在现有设备上完成时,不必额外租用;确认作业确实依赖 macOS 或 Xcode 后,再考虑 NOVAKVM 的远程 Mac 是否符合课程要求。