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 -
Hi and welcome to devnet,
What version of Qt are you using ?
What about using the code signing option ofmacdeployqt
? -
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...
-
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 ?