关于 build-dmg
一个通过随附脚本将 Xcode 项目或工作区构建为 DMG 的技能。它引导开发者明确构建与签名参数,并报告生成文件或具体阻碍。
主要功能
- 01检测项目、工作区和方案
- 02检查签名与导出参数
- 03运行随附的构建脚本
- 04报告 DMG 路径和构建状态
适用场景
- 01将 macOS 应用打包为 DMG
- 02构建前确认含糊的 Xcode 方案
- 03定位签名或导出阻碍
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ulpi-io/ skills --skill build-dmg安装后在 Claude Code 中输入/build-dmg确认已加载。
附带文件helpers/build-dmg.sh
详细介绍
此技能会运行 `xcodebuild archive` + `exportArchive`,并将结果打包成 DMG。它会涉及代码签名、配置文件和导出选项。
不可妥协的规则:
- 在构建前检测项目/工作区、方案和团队 ID——绝不猜测签名身份。
- 如果存在多个方案,请询问用户要构建哪一个。
- 未经明确批准,不要自动创建或覆盖
ExportOptions.plist——错误的导出选项会生成未签名或分发类型错误的构建。 - 从项目根目录使用辅助脚本(
helpers/build-dmg.sh)。不要将 xcodebuild 命令内联。 - 如果检测到
xcodegen(存在project.yml),请在构建前运行xcodegen generate。 - 清楚地报告生成的 DMG 路径、应用版本和签名状态。
build-dmg
输入
$request:可选的项目、工作区、方案或签名提示
目标
生成 DMG 构建,具体包括:
- 确定正确的 Xcode 目标输入
- 从项目根目录运行随附的辅助脚本
- 报告生成的 DMG 路径和任何打包阻碍
步骤 0:检测打包输入
读取仓库并确定:
- 应用名称
- 方案
- 项目或工作区路径
ExportOptions.plist的位置(如果存在)VERSION文件(如果存在)project.yml是否表明使用了xcodegen- 已存在的团队 ID 或签名提示
如果必需输入存在歧义,请在构建前询问。
成功标准:运行辅助脚本前,构建配置已明确。
步骤 1:确认辅助脚本和工作目录
辅助脚本位于此技能所在目录旁:
helpers/build-dmg.sh
从项目根目录运行它,以便将当前仓库用作构建上下文。
成功标准:已确定正确的辅助脚本路径和项目根目录。
步骤 2:使用明确的环境变量进行构建
提供所需的环境变量,例如:
APP_NAMESCHEME
仅在项目确实需要时添加可选变量:
PROJECTWORKSPACEINFO_PLISTEXPORT_OPTIONSTEAM_IDVERSION_FILEUSE_XCODEGENDMG_BACKGROUND
成功标准:辅助脚本具备所有必需输入,且只包含所需的可选输入。
步骤 3:妥善处理成功或失败
成功时,报告:
- DMG 输出路径
- 应用版本和构建号(如果可用)
VERSION文件是否发生更改
失败时:
- 概述实际错误
- 展示相关的
xcodebuild或导出失败行 - 判断阻碍属于签名、方案选择、导出选项还是构建失败
成功标准:用户能获得可用的构建产物路径,或清晰的阻碍说明。
防护要求
- 不要主动运行此技能。
- 不要假定使用
.claude本地辅助脚本路径;请使用此技能目录中的辅助脚本。 - 未经批准,不要自动创建或覆盖导出选项。
- 不要用笼统的“构建失败”概述掩盖签名失败。
输出约定
报告:
- 已确定的应用/项目/工作区/方案输入
- 辅助脚本是否成功运行
- 成功时的 DMG 路径
- 版本/构建信息(如果可用)
- 失败时的确切阻碍类别
评论
支持 Markdown