SwiftPM应用打包

2小时前更新 1 00

无Xcode构建ma

收录时间:
2026-02-26
SwiftPM应用打包SwiftPM应用打包
SwiftPM应用打包

技能简介

该技能提供一套完整的Swift Package Manager工作流,用于从零搭建、构建和打包macOS桌面应用,无需依赖Xcode项目文件。通过模板脚本实现.app bundle组装、资源管理、代码签名及公证流程。

能做什么

  • 生成最小可用的SwiftPM macOS应用骨架
  • 编译二进制并自动组装.app目录结构
  • 处理资源复制与Info.plist配置
  • 执行本地开发签名或正式版公证
  • 生成Sparkle应用更新所需的appcast文件
  • 支持菜单栏应用的特殊打包选项

使用说明

安装准备

本技能为模板集合,无需传统安装步骤。使用前请确保系统已安装:

  • macOS 12+
  • Xcode命令行工具(xcode-select --install
  • Swift 5.7+

快速开始

  1. 复制 assets/templates/bootstrap/ 到新仓库目录
  2. 修改 Package.swiftSources/MyApp/version.env 中的项目名称
  3. 配置 APP_NAMEBUNDLE_ID 及版本号
  4. 将脚本模板复制到项目 Scripts/ 目录
  5. 运行 swift build 验证编译
  6. 执行 Scripts/package_app.sh 生成.app包
  7. 使用 Scripts/compile_and_run.sh 启动调试

发布流程(可选)

  1. 更新 version.env 中的 BUILD_NUMBER(Sparkle更新必需递增)
  2. 运行 Scripts/sign-and-notarize.sh 完成公证与装订
  3. 执行 Scripts/make_appcast.sh 生成更新描述
  4. 创建git标签并上传至GitHub Release

输入与输出

见下方输入与输出表格。

项目内容
输入SwiftPM项目目录、version.env配置文件、应用图标源文件(可选)、代码签名证书、Apple Developer账号凭证(公证用)
输出.app应用包、签名后的压缩包(zip)、Sparkle appcast XML、公证票据(stapled ticket)
适用人群熟悉Swift的macOS开发者、偏好命令行工作流的团队、需要自动化CI/CD发布的项目、追求轻量级项目结构的独立开发者
不包含Xcode图形界面操作、iOS/tvOS/watchOS支持、跨平台Linux/Windows构建、应用商店(App Store)提交流程

 

风险提示

  • 代码签名身份需提前配置,首次使用建议运行 setup_dev_signing.sh 创建本地开发证书
  • 公证流程需要有效的Apple Developer账号,且每次提交需等待Apple服务器处理
  • 若未使用Sparkle框架,应移除相关脚本步骤避免报错
  • 菜单栏应用需显式设置 MENU_BAR_APP=1,否则无法正确隐藏Dock图标
  • 资源文件路径变更后需同步更新打包脚本中的复制逻辑

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/dimillian/macos-spm-app-packaging/SKILL.md
来源类型:GitHub仓库模板

数据统计

相关导航

暂无评论

none
暂无评论...