Ошибка нотариального заверения приложения 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 теперь работает нормально. :)
Спасибо за помощь и предложения других.