OS X-无法打开应用,因为当捆绑包包含新版本的第三方可执行文件时,无法确认开发者的身份

时间:2018-12-23 22:05:47

标签: objective-c macos code-signing

我有一个应用程序,其捆绑资源中包含第三方可执行文件。我曾经在发布阶段对应用程序进行签名,然后在Mac App Store之外分发。一切皆好。更新完第三方可执行文件后,像往常一样对应用程序进行签名并从网站下载到Mac后,OS X会显示警告“由于无法确认开发者的身份而无法打开应用程序。”

我在签署应用程序之前尝试签署第三方可执行文件:没有什么不同。 如果我用旧版本替换了新的第三方可执行文件(退出并重新下载),则不会显示应用警告,一切都很好。

“ codesign -dv应用程序”显示带有旧版本或新版本的第三方可执行文件的签名应用程序包的合理相同输出。

应用程序已使用有效的Mac开发人员ID签名。

1 个答案:

答案 0 :(得分:2)

检查捆绑软件中的所有二进制文件是否都未引用/ usr / bin或/ System之外的库。 在我们的例子中,我们有一个绝对路径,而GateKeeper不允许运行它。 codesign --verify没用。

您可以使用以下命令: otool -L path_to_binary

如果您看到/ System或/ usr / bin之外的任何依赖项,请摆脱它们