修改Info.plist后已签名AppleScript应用失效,如何重新验证?
解决修改Info.plist后AppleScript应用签名失效的问题
修改签名后的应用包内容(包括Info.plist)会直接破坏原有签名的完整性,导致系统判定应用无效。正确的处理方式是重新签名,步骤如下:
1. 重新签名应用
首先确认你的有效签名证书名称(可在「钥匙串访问」的「我的证书」列表中找到,格式类似 Developer ID Application: 你的名字 (XXXXXX)),然后执行以下命令:
codesign --force --deep --sign "你的证书完整名称" /Applications/Toolkit.app
参数说明:
--force:强制覆盖已有的无效签名--deep:递归签名应用包内的所有嵌套组件(AppleScript应用通常包含内部脚本文件,需要全量签名)--sign:指定用于签名的有效证书
2. 验证签名有效性
重新签名完成后,再次执行验证命令确认:
codesign --verbose --verify /Applications/Toolkit.app
如果签名有效,终端会输出:
/Applications/Toolkit.app: valid on disk /Applications/Toolkit.app: satisfies its Designated Requirement
3. 额外检查(可选)
若仍有异常,可查看签名的详细信息排查问题:
codesign --display --verbose=4 /Applications/Toolkit.app
也可以检查应用是否符合Gatekeeper要求:
spctl --assess --verbose /Applications/Toolkit.app
注意事项
- 任何对已签名应用包的修改(包括Info.plist、资源文件、代码文件)都会导致签名失效,必须重新签名
- 确保使用的证书未过期、未被吊销,且在钥匙串中处于信任状态
内容的提问来源于stack exchange,提问作者meDom
相关产品推荐
相关产品推荐

