名称: 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-workflowmacos-entitlements-generator