MacOS 应用程序公证失败 - 二进制文件的签名无效

MacOS app notarization failed - The signature of the binary is invalid

该应用程序是使用Avalonia和.net core开发的。我对应用程序进行了公证,没有收到任何错误。但是在查看app公证结果时出现如下错误:

 "issues": [
    {
        "severity": "error",
        "code": null,
        "path": "Untitled.zip/XXX.app/Contents/MacOS/XXX",
        "message": "The signature of the binary is invalid.",
        "docUrl": null,
        "architecture": "x86_64"
    }
]

从问题的描述来看,是代码签名导致的,b但是签名的时候并没有出现任何错误。

感谢您的任何想法。 亚伦

编辑: 该应用程序在签名前运行良好。签名后,它失败了。我尝试在 MacOS 的终端中 运行 它( cd 到 xxx.app/Contents/MacOS 文件夹并执行 ./xxx),并得到以下错误:

Failed to create CoreCLR, HRESULT: 0x80004005

如果您创建 DMG,则必须先对 .app 进行公证(只需将其压缩、公证并在装订 .app 之后)。 然后公证dmg.

没有这 2 个步骤,我也遇到了与您相同的问题。

使用此应用程序,您可以验证签名和公证:https://www.mothersruin.com/software/Apparency/

最后我找到了原因,是因为xxx.entitlements这个文件。第一个 .entitlements 是在 window 机器上创建的,然后手动更改扩展名,然后在 Mac 上使用它并成功进行了代码签名,但我的应用程序公证失败。

解决方案是通过 vim 命令在 Mac 上创建一个新的 .entitlements 文件而不是上面的方法,它成功地进行了代码签名和公证。

这是我的愚蠢。我的第一个 Mac 应用程序现在运行良好。 :)

感谢他人的帮助和建议。