Нотариально заверенное приложение Ma c OS, созданное с помощью Corona SDK, больше не работает. Сбой проверки - PullRequest
7 голосов
/ 18 февраля 2020

Это команды, которые я выполняю. Раньше это работало для меня каждый раз, но теперь это не помогает.

codesign -s "Developer ID Application: <YOUR NAME>" --timestamp --options runtime -f --entitlements entitlements.plist --deep <APP NAME>.app

/usr/bin/ditto -c -k --keepParent <APP NAME>.app <APPNAME>.zip

xcrun altool --notarize-app --primary-bundle-id "<BUNDLE ID>" -u "<YOUR EMAIL>" -p "<APP SPECIFIC PASSWORD>" --file <YOURAPP>.zip

Я получаю электронное письмо с "ваше приложение не удалось нотариально" или еще много чего.

Вот ошибки, которые я получаю.

{
"logFormatVersion": 1,
"jobId": "69910cca-87c0-44f6-a8ec-a0c8a6a7b614",
"status": "Invalid",
"statusSummary": "Archive contains critical validation errors",
"statusCode": 4000,
"archiveFilename": "MegaHasan.zip",
"uploadDate": "2020-02-05T19:07:48Z",
"sha256": "b6b7c75a0e50a9ec9f238360c674f9345ef6a97d27a21a69e793b7938927eb42",
"ticketContents": null,
"issues": [
{
"severity": "error",
"code": null,
"path": "MegaHasan.zip/Mega Hasan.app/Contents/Plugins/plugin_bit.dylib",
"message": "The binary is not signed with a valid Developer ID certificate.",
"docUrl": null,
"architecture": "x86_64"
},
{
"severity": "error",
"code": null,
"path": "MegaHasan.zip/Mega Hasan.app/Contents/Plugins/plugin_bit.dylib",
"message": "The signature does not include a secure timestamp.",
"docUrl": null,
"architecture": "x86_64"
},
{
"severity": "error",
"code": null,
"path": "MegaHasan.zip/Mega Hasan.app/Contents/Plugins/plugin_bit.dylib",
"message": "The binary uses an SDK older than the 10.9 SDK.",
"docUrl": null,
"architecture": "x86_64"
},
{
"severity": "error",
"code": null,
"path": "MegaHasan.zip/Mega Hasan.app/Contents/Plugins/libsteam_api.dylib",
"message": "The binary is not signed with a valid Developer ID certificate.",
"docUrl": null,
"architecture": "x86_64"
},
{
"severity": "error",
"code": null,
"path": "MegaHasan.zip/Mega Hasan.app/Contents/Plugins/libsteam_api.dylib",
"message": "The signature does not include a secure timestamp.",
"docUrl": null,
"architecture": "x86_64"
},
{
"severity": "error",
"code": null,
"path": "MegaHasan.zip/Mega Hasan.app/Contents/Plugins/plugin_steamworks.dylib",
"message": "The binary is not signed with a valid Developer ID certificate.",
"docUrl": null,
"architecture": "x86_64"
},
{
"severity": "error",
"code": null,
"path": "MegaHasan.zip/Mega Hasan.app/Contents/Plugins/plugin_steamworks.dylib",
"message": "The signature does not include a secure timestamp.",
"docUrl": null,
"architecture": "x86_64"
},
{
"severity": "error",
"code": null,
"path": "MegaHasan.zip/Mega Hasan.app/Contents/Frameworks/CoronaCards.framework/Versions/A/Frameworks/gameNetwork.dylib",
"message": "The binary uses an SDK older than the 10.9 SDK.",
"docUrl": null,
"architecture": "x86_64"
},
{
"severity": "error",
"code": null,
"path": "MegaHasan.zip/Mega Hasan.app/Contents/Frameworks/CoronaCards.framework/Versions/A/Frameworks/licensing.dylib",
"message": "The binary uses an SDK older than the 10.9 SDK.",
"docUrl": null,
"architecture": "x86_64"
}
]
}

Ответы [ 2 ]

4 голосов
/ 21 февраля 2020

Нотариальное заверение работает только для двоичных файлов, связанных с MacOS 10.9 или более поздней версии. Вы должны связать нарушающую библиотеку с SDK 10.9 или более поздней и повторно отправить приложение.

Вы должны установить XCode macos SDK, как минимум, такой же современный, как 10.9, и использовать его как sys root при компиляции и компоновке библиотек, которые не обновлены. Затем перекомпилируйте и свяжите ваше приложение с новыми библиотеками. Обычно хорошей идеей является компиляция всех dylib-файлов и основного исполняемого файла с использованием одной и той же цепочки инструментов. Что касается нотариального заверения, то любой бинарный файл, связанный с sdk до 10.9, к сожалению, не будет go.

2 голосов
/ 20 февраля 2020

Я сталкиваюсь с похожими проблемами с процессом нотариального заверения для электрона, который раньше работал, а сейчас нет. Я обнаружил, что некоторые из моих сертификатов были отозваны. Они не показывали этого на сайте Apple Developer, но когда я вошел в Xcode: «Настройки»: «Учетные записи» и нажал кнопку «Управление сертификатами».

Создание новых сертификатов привело меня к тому, что я сделал это через нотариальное заверение, но теперь я получаю ошибки подписи при загрузке с помощью Application Loader, так что, возможно, я сделал что-то еще неправильно, создав новые сертификаты и восстановив свои профили обеспечения, но, надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...