用途:当故障更像代码签名问题而非编译问题时使用本技能,例如启动被拒、缺少 entitlement、签名无效、沙盒不匹配、强化运行时混淆或信任策略拒绝。
主要能力:检查 .app 或可执行文件,定位 Contents/MacOS/ 内的主二进制;读取签名详情;对失败进行分类(未签名或 ad hoc 签名、身份错误、entitlement 不匹配、强化运行时问题、App Sandbox 问题、嵌套代码签名问题、分发/公证前置条件问题);给出最小修复路径,区分本地开发问题与分发问题。
使用方式:常用命令包括 codesign -dvvv --entitlements :- <app-or-binary>、spctl -a -vv <app-or-binary>、security find-identity -p codesigning -v、plutil -p <path-to-entitlements-or-plist>。输出应包含:检查了哪个产物、其签名状态、确切的失败类别、最小修复或验证序列。
限制与护栏:不得臆造缺失的 entitlement;不要把公证与本地调试签名混为一谈;若真正问题是构建设置或描述文件,应直接说明。