macOS代码签名工作流Skill macos-codesign-workflow

这是一个用于macOS应用程序代码签名的自动化工作流技能。它专门处理使用Apple开发者ID证书对macOS应用包(.app)进行签名,并配置强化运行时安全要求。核心功能包括:自动化签名流程、管理嵌套框架和二进制文件的签名、配置应用权利文件、验证签名完整性以及设置持续集成/持续交付环境。适用于macOS应用开发者、DevOps工程师和安全工程师,确保应用符合Apple的安全分发标准,是macOS应用发布前不可或缺的环节。关键词:macOS代码签名,开发者ID,强化运行时,应用安全,Apple公证,自动化签名,CI/CD,钥匙串管理。

移动开发 0 次安装 0 次浏览 更新于 2/25/2026

名称: macOS代码签名工作流 描述: 使用开发者ID执行macOS代码签名并满足强化运行时要求 允许的工具: 读取, 写入, 编辑, Bash, Glob, Grep 标签: [macos, 代码签名, 开发者id, 安全, apple]

macOS代码签名工作流

使用开发者ID证书和强化运行时执行macOS代码签名。此技能处理macOS应用程序的完整代码签名过程。

能力

  • 使用开发者ID签名应用包
  • 配置强化运行时
  • 签名嵌套的框架和二进制文件
  • 配置权利
  • 验证签名
  • 设置CI/CD签名
  • 处理钥匙串管理

输入模式

{
  "type": "object",
  "properties": {
    "appPath": { "type": "string" },
    "identity": { "type": "string" },
    "entitlements": { "type": "string" },
    "hardenedRuntime": { "type": "boolean", "default": true }
  },
  "required": ["appPath", "identity"]
}

签名命令

# 使用强化运行时签名应用包
codesign --force --options runtime --timestamp \
    --entitlements MyApp.entitlements \
    --sign "Developer ID Application: Company Name (TEAMID)" \
    MyApp.app

# 首先签名嵌套组件
find MyApp.app -name "*.dylib" -o -name "*.framework" | \
    xargs -I {} codesign --force --options runtime --timestamp \
    --sign "Developer ID Application: Company Name (TEAMID)" {}

# 验证签名
codesign --verify --deep --strict --verbose=2 MyApp.app
spctl --assess --type execute --verbose MyApp.app

相关技能

  • macos-notarization-workflow
  • macos-entitlements-generator