关于Bitrise故障的MacOS codesign命令:分段故障:11

时间:2017-03-15 21:26:33

标签: macos code-signing codesign bitrise

出于某种原因,我需要在Bitrise上为我的macos应用程序运行手动代码签名。使用以下命令执行此操作时:

codesign --deep --force --verify --verbose --sign "Developer ID Application: Name (ID)" "MyApp.app"

它总是返回错误:

line 11:  3043 Segmentation fault: 11

有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

在寻找可能的解决方案时,我发现了这两个帖子:

Segmentation fault: 11 when attempting to codesign .app

https://forums.developer.apple.com/thread/65055

他们帮我找到了解决问题的方法。在第一个链接上标记为正确的答案表明:

--timestamp=none

会修复它,这对我来说不是真的。但第二个答案,以及第二个链接中提到的解决方案,包含正确的提示。

我需要使用十六进制标识符进行签名,而不是使用证书名称。

您可以获取执行此命令的证书的十六进制标识符:

security find-identity -p codesigning

使用为我的证书返回的十六进制标识符,这是我需要在Bitrise上运行以便签署MyApp.app的命令

codesign --deep --force --verify --verbose -s <<hex identifier>> "MyApp.app"

请注意选项的顺序也很重要。 '-s'必须是我的最后选择。

(并记得包括Bitrise工作流程步骤'证书和配置文件安装程序')

===编辑===

我在这里谈论MacOS Sierra堆栈。

答案 1 :(得分:0)

我通过使用证书的十六进制ID进行签名来找到解决方案。

您可以通过运行找到HEX ID: security find-identity -v

在此信用: - Segmentation fault: 11 when attempting to codesign .app