首页 > 解决方案 > 如何判断 OSX 代码签名为何无效

问题描述

我有一个统一构建的 OSX 应用程序。运行良好,直到我用 codesign 签名然后它失败并出现异常

   Exception Type:        EXC_CRASH (Code Signature Invalid)
   Exception Codes:       0x0000000000000000, 0x0000000000000000
   Exception Note:        EXC_CORPSE_NOTIFY

有什么方法可以获取有关代码签名为何无效的更多信息?

我使用来自有效 Apple Developer 帐户的 Developer ID 证书对其进行了签名:

codesign -f --deep -s "Developer ID Application: Ro Anders" --entitlements adventure.entitlements ./adventure.app/

然后用

codesign -dv --verbose=4 adventure.app

并且响应没有报告任何问题

Executable=/Users/ro/multiplayer-adventure/H2HAdventure/target/OSX/adventure.app/Contents/MacOS/adventure
Identifier=com.h2hadventure.adventure
Format=app bundle with Mach-O thin (x86_64)
CodeDirectory v=20200 size=346 flags=0x0(none) hashes=3+5 location=embedded
VersionPlatform=1
VersionMin=657664
VersionSDK=658432
Hash type=sha256 size=32
CandidateCDHash sha1=8b8a11c38e8cbe2fb7934f528bcc6ea0763c7291
CandidateCDHash sha256=f50657e61a2183b5a28bd651914a0994421ecbe3
Hash choices=sha1,sha256
Page size=4096
CDHash=f50657e61a2183b5a28bd651914a0994421ecbe3
Signature size=9062
Authority=Developer ID Application: Ro Anders (7QCS2LM77Z)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=May 21, 2019 at 5:46:54 PM
Info.plist entries=15
TeamIdentifier=7QCS2LM77Z
Sealed Resources version=2 rules=13 files=203
Internal requirements count=1 size=188

我正在尝试获取更多详细信息,例如我的证书或我的权利有问题还是什么。

标签: macosunity3dcodesign

解决方案


运行此命令以查看您机器上的有效代码签名身份并验证您的代码签名存在且有效。

xcrun security find-identity -v -p codesigning

我怀疑8b8a11c38e8cbe2fb7934f528bcc6ea0763c7291您用于代码签名的代码签名无效。

另一件事检查您正在创建调试版本或发布版本,对于发布版本,您的钥匙串中应该有分发证书在登录选项卡下。


推荐阅读