Ошибка нотариального заверения приложения MacOS — подпись двоичного файла недействительна

Приложение разработано с использованием ядра Avalonia и .net. Я нотариально заверил приложение и не получил никаких ошибок. Но я получил следующую ошибку при проверке результата нотариального заверения приложения:

       "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, но при подписи ошибок не возникало.

Спасибо за любые идеи. Аарон

Eidted: Приложение работает нормально до подписания. После подписания не получается. Я пытаюсь запустить его в Терминале MacOS (перейдите в папку xxx.app/Contents/MacOS и выполните exute ./xxx) и получил следующую ошибку:

      Failed to create CoreCLR, HRESULT: 0x80004005

2 ответа

Если вы создаете DMG, вы должны сначала нотариально заверить .app (просто заархивируйте его, нотариально заверите и после скрепите .app). Затем нотариально заверить dmg.

Без этих двух шагов у меня также возникла такая же проблема, как у вас.

С помощью этого приложения вы можете проверить подпись и нотариальное заверение: https://www.mothersruin.com/software/Apparency/

В конце концов я нашел причину, которая заключается в файле xxx.entitlements. Первые .entitlements создаются на компьютере с окном, затем вручную изменяются расширения, затем используются на Mac и успешно кодируются, но нотариальное заверение моего приложения не удалось.

Решение состоит в том, чтобы создать новый файл .entitlements на Mac с помощью команды vim, а не выше, чем указано выше, и он успешно кодирует и нотариально заверяет.

Это моя глупость. Мое первое приложение для Mac теперь работает нормально. :)

Спасибо за помощь и предложения других.

Другие вопросы по тегам