macos - 如何判断 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
我正在尝试获取更多详细信息,例如我的证书或我的权利有问题还是什么。
解决方案
运行此命令以查看您机器上的有效代码签名身份并验证您的代码签名存在且有效。
xcrun security find-identity -v -p codesigning
我怀疑8b8a11c38e8cbe2fb7934f528bcc6ea0763c7291
您用于代码签名的代码签名无效。
另一件事检查您正在创建调试版本或发布版本,对于发布版本,您的钥匙串中应该有分发证书在登录选项卡下。
推荐阅读
- python - Tensorflow:ValueError:输入0与层模型不兼容:预期形状=(无,99),找到形状=(无,3)
- javascript - 使用属性值为我的 wordpre 画廊中的每个图像添加自定义链接
- r - 如何将数据集重组为单列
- angular - 使用角度循环发送多个http get请求
- entity-framework - EF6 和 EFCore 上下文生成不同的 SQL 脚本,导致 EFCore 出现性能问题
- node.js - 每个单独测试的 Jest 模拟第三方默认导出
- c - “分段错误”,因为用户没有输入
- pyspark - PySpark SQL 查询返回包含最多单词的行
- sql - T-SQL 逻辑(存在一列但不存在另一列)
- jenkins - 在詹金斯作业上运行 sfdx force:auth:web:login