无需 Xcode 项目:使用 SwiftPM 构建并打包 macOS 应用
解决依赖 Xcode 项目文件的繁琐流程:通过 SwiftPM 实现 macOS 应用的轻量化开发,提供一套完整的从项目初始化到签名公证、最终打包发布的自动化工作流。
为什么需要这个技能
传统的 macOS 开发高度依赖 .xcodeproj 文件,这在进行版本控制或自动化 CI/CD 时经常产生冲突且难以维护。
实际上,SwiftPM(Swift Package Manager)已经足够支持构建完整的 macOS 应用。通过定义正确的目录结构和自动化脚本,你可以直接在终端完成编译、创建 .app Bundle、执行代码签名(Signing)以及 Apple 的公证(Notarization)流程,无需打开 Xcode 界面即可交付可分发的应用。
适用场景
- 想要构建轻量级 macOS 工具,且不希望维护复杂的 Xcode 项目文件。
- 需要在 CI/CD 流水线中自动构建、签名并分发 Swift 应用。
- 需要为 SwiftPM 项目实现标准的
.app打包、公证以及基于 Sparkle 的更新机制。
核心工作流
本技能将构建过程分为两个核心阶段:
1. 项目初始化(Bootstrap)
- 骨架搭建:将
assets/templates/bootstrap/模板复制到新仓库。 - 自定义配置:修改
Package.swift、Sources/目录名以及version.env中的APP_NAME和BUNDLE_ID。
2. 构建、打包与发布
- 基础构建:使用
swift build编译,swift test运行测试。 - 应用打包:执行
Scripts/package_app.sh将二进制文件和资源封装进.appBundle。 - 快速运行:使用
Scripts/compile_and_run.sh实现“编译-打包-启动”的一键循环。 - 正式发布:运行
Scripts/sign-and-notarize.sh进行签名和公证,最后通过Scripts/make_appcast.sh生成 Sparkle 更新配置。
快速上手示例
# 1. 复制骨架并重命名
cp -R assets/templates/bootstrap/ ~/Projects/HelloApp
cd ~/Projects/HelloApp
sed -i '' 's/MyApp/HelloApp/g' Package.swift version.env
# 2. 配置自动化脚本
cp assets/templates/package_app.sh Scripts/
cp assets/templates/compile_and_run.sh Scripts/
chmod +x Scripts/*.sh
# 3. 构建并启动
swift build
Scripts/compile_and_run.sh
下载和安装
下载 macos-spm-app-packaging 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐