Bitrise 失败时的 MacOS 代码设计命令:分段错误:11
MacOS codesign command on Bitrise failure: Segmentation fault: 11
出于某种原因,我需要 运行 在 Bitrise 上为我的 macOS 应用程序进行手动代码签名。使用以下命令执行此操作时:
codesign --deep --force --verify --verbose --sign "Developer ID Application: Name (ID)" "MyApp.app"
它总是返回错误:
line 11: 3043 Segmentation fault: 11
有谁知道如何解决这个问题?
在寻找可能的解决方案时,我遇到了这两个帖子:
https://forums.developer.apple.com/thread/65055
他们帮助我找到了解决问题的方法。在第一个 link 标记为正确的答案指出:
--timestamp=none
会修复它,但这对我来说不是真的。但是第二个答案,以及第二个link中提到的解决方案,包含正确的提示。
我需要使用十六进制标识符而不是证书名称进行签名。
您可以通过执行此命令获取证书的十六进制标识符:
security find-identity -p codesigning
使用为我的证书返回的十六进制标识符,这是我需要在 Bitrise 运行 上执行的命令,以便签署 MyApp.app
codesign --deep --force --verify --verbose -s <<hex identifier>> "MyApp.app"
请注意选项的顺序也很重要。 '-s' 必须是我的最后一个选项。
(并记得包括 Bitrise 工作流程步骤 'Certificate and profile installer')
===编辑===
我在这里谈论的是 MacOS Sierra 堆栈。
我通过使用证书的十六进制 ID 进行签名找到了解决方案。
您可以通过运行找到HEX ID:
security find-identity -v
致谢于此:--
出于某种原因,我需要 运行 在 Bitrise 上为我的 macOS 应用程序进行手动代码签名。使用以下命令执行此操作时:
codesign --deep --force --verify --verbose --sign "Developer ID Application: Name (ID)" "MyApp.app"
它总是返回错误:
line 11: 3043 Segmentation fault: 11
有谁知道如何解决这个问题?
在寻找可能的解决方案时,我遇到了这两个帖子:
https://forums.developer.apple.com/thread/65055
他们帮助我找到了解决问题的方法。在第一个 link 标记为正确的答案指出:
--timestamp=none
会修复它,但这对我来说不是真的。但是第二个答案,以及第二个link中提到的解决方案,包含正确的提示。
我需要使用十六进制标识符而不是证书名称进行签名。
您可以通过执行此命令获取证书的十六进制标识符:
security find-identity -p codesigning
使用为我的证书返回的十六进制标识符,这是我需要在 Bitrise 运行 上执行的命令,以便签署 MyApp.app
codesign --deep --force --verify --verbose -s <<hex identifier>> "MyApp.app"
请注意选项的顺序也很重要。 '-s' 必须是我的最后一个选项。
(并记得包括 Bitrise 工作流程步骤 'Certificate and profile installer')
===编辑===
我在这里谈论的是 MacOS Sierra 堆栈。
我通过使用证书的十六进制 ID 进行签名找到了解决方案。
您可以通过运行找到HEX ID:
security find-identity -v
致谢于此:--