问题 分段错误:11尝试编码.app


我无法找到与代码签名相关的此错误的定义。对于该做什么,我真的很难过。

尝试执行此命令行时发生错误:

codesign -s "Developer ID Application: Name (ID)" -fv --deep Application.app/

系统:

Yosemite 10.10.3上的XCode 6.2

我重新安装了XCode,仍然没有运气。这适用于桌面应用程序。

如果这是一个愚蠢的问题,请道歉!


4577
2018-04-16 23:20


起源

今天在这里有同样的问题。 10.10.3 XCode 6.3 - Gubatron
你找到了解决方案吗?我最初使用6.3获得了问题,如上所述恢复到6.2,问题仍然存在。 - SRG3006
你检查过你的证书是否已过期? - Gubatron
这是一个可能对我们有帮助的相关讨论 devforums.apple.com/message/1124508 - Gubatron
该讨论中的循环对我有用,除了我必须首先复制我的.app,并且在循环中如果codesign失败,删除.app并将新版本复制到位,然后再尝试编码。似乎编码符号不是原子的(我假设这是一个单独的错误)。 - David Burson


答案:


通过 --timestamp=none 似乎让崩溃消失了。


3
2018-04-26 00:30



... ...除非您的应用程序的签名在证书过期后立即中断。 (但这实际上是导致真正问题的一个很好的结果。当时间戳服务器关闭时,它可能会崩溃吗?) - Trejkaz


我发现的解决方案 在Apple论坛上 为我工作:首先,运行以下命令来查找您的身份的十六进制ID:

$ security find-identity -v
1) A048017A43F8C9C993128B0101B81CD07049601E "lldb_codesign"
...

然后您可以使用该十六进制标识符进行签名:

codesign -s A048017A43F8C9C993128B0101B81CD07049601E /usr/local/bin/gdb

调试时遇到的其他一些提示:

  • 你必须给出二进制文件的完整路径(/usr/local/bin/gdb, 不只是 gdb)。出于安全原因,我假设它不会出现在PATH上。
  • 如果二进制文件所在的目录不是用户拥有的,则必须以root身份运行codesign。

13
2018-02-12 17:48



这对我在Jenkins构建的Mac mini上工作,而不添加时间戳选项。我还需要清除现有的构建工件。我刚刚将此更新到MacOS Sierra和最新的XCode 8.3.2。我没有试过这个,但想知道升级后是否重新加载证书可能会有所帮助。 - Ben Butzer