Codesigning for Qt Application developed for Mac OS X



  • Hi everyone,

    I developed an application using Qt and XCode under 10.8 OSX . I deploy that application using macdeployqt for other MAC OSX . On a Mavericks (10.9.4), i signed my application. When i verify signature for this application, it contains valid signature with Signature Version 2. But, when i verify this signed application on Yosemite(10.10), it shows that this application is not signed. Error message is following:

    bq. code object is not signed at all
    In subcomponent: /Users/Himanshu/Desktop/Sample/Sample.app/Contents/Frameworks/QtCore.framework.
    Command /usr/bin/codesign failed with exit code.

    Please tell me the reason for this error and solution also.
    Thanks in advance.



  • do you codesign with the --deep option? As in:

    @codesign --deep -v -f -s "My Company" "myApp.app"
    @
    You'll get that error if you don't, a change in 10.10 handling of signature.

    Now, if you try to sign with --deep on any application build with Qt up to 5.3.1, the signature will fail because of a bug in macdeployqt.

    After macdeployqt, for any Qt framework that contains a "Contents/Info.plist", you have to copy this Info.plist in the deployed framework 's Resources folder.

    example:

    @cp /usr/local/Qt-5.3.1/lib/QtCore.framework/Contents/Info.plist myApp.app/Contents/Frameworks/QtCore.framework/Resources/.
    cp /usr/local/Qt-5.3.1/lib/QtGui.framework/Contents/Info.plist myApp.app/Contents/Frameworks/QtGui.framework/Resources/.
    ...
    @
    repeat for all deployed Qt's framework.

    I hope this and QTBUG-40449 are fixed in the coming 5.3.2.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.