【发布时间】:2017-01-29 20:11:21
【问题描述】:
升级到 macOS 10.12 Sierra 和 Xcode 8 后,我的代码签名被破坏了。
每次我尝试签署应用程序时,无论多么简单,我都会收到/usr/bin/codesign failed with exit code 11。
【问题讨论】:
标签: ios macos xcode8 codesign macos-sierra
升级到 macOS 10.12 Sierra 和 Xcode 8 后,我的代码签名被破坏了。
每次我尝试签署应用程序时,无论多么简单,我都会收到/usr/bin/codesign failed with exit code 11。
【问题讨论】:
标签: ios macos xcode8 codesign macos-sierra
原来原因是我必须从钥匙串中删除过期的证书。
希望我为您节省了几分钟漫无目的、沮丧的故障排除时间。
【讨论】:
今天遇到了同样的问题,但就我而言,钥匙串中没有过期的证书。来自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 不是同一个问题,但我在调查我的问题时发现了这个问题。
【讨论】: