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

OS X - app can't be opened because the identity of the developer cannot be confirmed when bundle includes new version of third-party executable

我有一个应用程序,其捆绑资源中包含第三方可执行文件。我曾经在发布阶段签署应用程序并在 Mac App Store 之外分发。一切皆好。在我更新第三方可执行文件后,一旦应用程序照常签名并从网站下载到 mac,OS X 显示警报 "app can't be opened because the identity of the developer cannot be confirmed".

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

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

应用已使用有效的 Mac 开发者 ID 进行签名。

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

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

如果您在 /System 或 /usr/bin 之外看到任何依赖项 - 删除它们