Bitrise 失败 : Segmentation fault: 11 上的 MacOS 协同设计命令

标签 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

有人知道怎么解决吗?

最佳答案

在寻找可能的解决方案时,我遇到了这两篇文章:

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 堆栈。

关于Bitrise 失败 : Segmentation fault: 11 上的 MacOS 协同设计命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42820985/

相关文章:

objective-c - 如何比较两个 NSImages 的差异?

java - 如何验证签名的 jar 是否包含时间戳?

certificate - 没有公司的代码签名证书

iOS:代码设计错误:子组件 Base.lproj 中的包格式无法识别、无效或不合适

xcode - 使用 NSTextField 创建热键设置区域?

XCode 8 错误 "Project ERROR: Xcode not set up properly",即使许可证已被接受

iphone - 您可以在 Xcode 中创建每用户项目设置吗?

xcode - 从 OS X 10.8 更新到 10.9 后出现错误 ITMS-9000 : Missing or invalid signature.

ios - 从 XCARCHIVE 导出 OTA 可安装 IPA

python - pip 在 Mac OS X Mavericks (10.9) 上引发 stdio.h not found 错误