升级到 macOS 10.12 Sierra 和 Xcode 8 后,我的代码签名被破坏了。
每次我尝试签署应用程序时,无论多么简单,我都会得到/usr/bin/codesign failed with exit code 11
.
升级到 macOS 10.12 Sierra 和 Xcode 8 后,我的代码签名被破坏了。
每次我尝试签署应用程序时,无论多么简单,我都会得到/usr/bin/codesign failed with exit code 11
.
原来原因是我不得不从 Keychain 中删除过期的证书。
希望我为您节省了几分钟漫无目的、沮丧的故障排除时间。
今天遇到了同样的问题,但就我而言,钥匙串中没有过期的证书。来自https://forums.developer.apple.com/thread/65055的技巧对我有用:
我遇到了新证书的两个问题,因此不仅仅是证书旧了。但我通过使用 ID 而不是名称指定证书来解决它 - 首先通过以下方式获取 ID:
security find-identity -p codesigning
并且,从它的输出中,复制我想要的密钥的长十六进制 ID,并将其粘贴到我的代码签名调用中:
sudo codesign -s 001CA54450805B2D8D1646793D0339BA7EB931D1 --timestamp=none /opt/local/bin/ggdb
重试运行codesign
。
有时,我们在 CI 系统中遇到构建失败,codesign
退出代码为 11,没有明显的原因。查看Console.app
我看到线程中的分段错误Dispatch queue: com.apple.security.XPCTimeStampingService
。我了解这意味着尝试与时间戳服务器通信时发生了一些错误。
这与 OP 不是同一个问题,但我在调查我的问题时发现了这个问题。