关于 signing-entitlements
面向排查 macOS 应用签名与权限问题的技能,帮助识别启动拒绝、签名无效或沙盒不匹配等故障。它通过检查应用包、二进制文件和签名信息来区分问题类型,并给出最小验证或修复路径。
主要功能
- 01检查应用包和主二进制文件
- 02读取签名与 Entitlements
- 03验证 Gatekeeper 判定
- 04分类签名与权限故障
- 05区分本地开发和分发问题
适用场景
- 01排查应用因签名被拒绝启动
- 02定位 Entitlements 或沙盒不匹配
- 03验证 Gatekeeper 信任策略问题
- 04判断分发是否涉及公证前置要求
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ openai/ plugins --skill signing-entitlements安装后在 Claude Code 中输入/signing-entitlements确认已加载。
附带文件agents/openai.yaml
详细介绍
签名与权利
快速入门
当故障看起来像代码签名问题,而非编译问题时,请使用此技能: 例如启动被拒、缺少权利、签名无效、沙盒不匹配、 强化运行时配置混乱,或信任策略拒绝。
工作流
-
检查应用包或二进制文件。
- 找到
.app或可执行文件。 - 确定
Contents/MacOS/中的主二进制文件。
- 找到
-
读取签名详情。
- 使用
codesign -dvvv --entitlements :- <path>。 - 当 Gatekeeper 行为相关时,使用
spctl -a -vv <path>。 - 使用
plutil -p检查权利或 Info.plist。
- 使用
-
对故障进行分类。
- 未签名或使用临时签名
- 身份不正确
- 权利不匹配
- 强化运行时问题
- App Sandbox 问题
- 嵌套代码签名问题
- 分发/公证前置条件问题
-
说明最精简的修复路径。
- 明确指出问题所在。
- 展示最精简的验证或修复命令。
- 区分本地开发问题与分发问题。
实用命令
codesign -dvvv --entitlements :- <app-or-binary>spctl -a -vv <app-or-binary>security find-identity -p codesigning -vplutil -p <path-to-entitlements-or-plist>
注意事项
- 切勿臆造缺失的权利。
- 不要将公证与本地调试签名混为一谈。
- 如果实际问题是构建设置或配置描述文件,请直接说明。
输出要求
请提供:
- 检查的构件
- 其签名状态
- 确切的故障类别
- 最精简的修复或验证步骤
评论
支持 Markdown