После использования macdeployqt
я подписываю свое приложение, чтобы избежать проблем с Gatekeeper.
Я могу использовать codesign
для всех фреймворков и всего внутри пакета, но когда я пришел, чтобы подписать пакет, я получаю сообщение об ошибке:
$ codesign --force --verify --verbose --sign "Developer ID Application: My ID" MyApplication.app
MyApplication.app: bundle format unrecognized, invalid, or unsuitable
In subcomponent: /Users/username/Dev/Apps/MyApplication/MyApplication.app/Contents/Frameworks/QtConcurrent.framework
Если я проверяю подпись:
$codesign -vvv MyApplication.app/Contents/Frameworks/QtConcurrent.framework/Versions/5/QtConcurrent
MyApplication.app/Contents/Frameworks/QtConcurrent.framework/Versions/5/QtConcurrent: valid on disk
MyApplication.app/Contents/Frameworks/QtConcurrent.framework/Versions/5/QtConcurrent: satisfies its Designated Requirement
В соответствии с http://furbo.org/2013/10/17/code-signing-and-mavericks/ кажется, что я должен подписать пакет фреймворка что-то вроде этого
$ codesign --force --verify --verbose --sign "Developer ID Application: My ID" MyApplication.app/Contents/Frameworks/QtConcurrent.framework/Versions/5
но это приводит к
MyApplication.app/Contents/Frameworks/QtConcurrent.framework/Versions/5: bundle format unrecognized, invalid, or unsuitable