macOS - built app modifies it contents (and breaks code signing)



  • Hi

    I'm developing an app for both Windows & macOS. However I encountered a problem with codesigning and running the app on macOS:

    After building the app and deploying it with macdeployqt I manually sign it using codesign (and verify it using both codesign and spctl - all fine). However after first run the signature is broken ("A sealed resource is missing or invalid").

    I managed to find that the problematic resources are newly created qmlc files located in the App Name.app/Contents/Resources/qml/QtGraphicalEffects/, like LinearGradient.qmlc and GaussianBlur.qmlc.

    Why does the app generates them on the client machine? How can I prevent that?

    Thanks in advance,
    Tomek


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    What version of Qt are you using ?
    What about using the code signing option of macdeployqt ?



  • I'm using Qt 5.11.1 (Tried 5.11.2 as well).
    I've tried macdeployqt code signing, however I'm running into the same issue - before launching the app all signatures are valid, after first run Gatekeeper check fails:

    Error details: “-67054: a sealed resource is missing or invalid” {
    	Resources added: 
    		Contents/Resources/qml/QtGraphicalEffects/GaussianBlur.qmlc
    		Contents/Resources/qml/QtGraphicalEffects/FastBlur.qmlc
    		Contents/Resources/qml/QtGraphicalEffects/DropShadow.qmlc
    		Contents/Resources/qml/QtGraphicalEffects/LinearGradient.qmlc
    }
    

    Any idea how to prevent doing that? If I make that internal dir read-only then user will have a bad time trying to update/uninstall the app...


  • Lifetime Qt Champion

    Since 5.12 was released can you test with it ?

    If it still fails, can you provide a minimal compilable example that shows that behaviour ?


Log in to reply
 

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