The code has no resources, but the signature indicates that they must be present

I have a Qt application (5.3.1) that worked fine until the last update in the codebase, but now the gatekeeper is throwing this error:

the code has no resources, but the signature indicates that they must be present

(the command I used to check the app package: spctl -at exec -vv path / to / .app)

The deployment script creates an application bundle, calls macdeploy, copies any missing qt info.plist files, and then calls the code:

codeign --force --deep --verify --verbose --no-legacy-sign -sign "subscription authorization string" /path/to/.app

The -no-legacy submenu was added due to a deprecated resource envelope error. Nothing else has changed since it last worked.

Code creation and coding is done on OS X Yosemite, Xcode 6.0.1 is installed. This is not the latest version of yosemite, I'm not sure which one it really is (I haven't configured the machine, but I see that the update center offers an update to developer preview 8).

Has anyone encountered this error?

+3


source to share


1 answer


I had the same problem as you. This is what you need to do to fix the problem:

  • You need to fix your Framework structure after calling macdeployqt utility. The required structure can be found here: Anatomy of framework packages
  • Some of the Qt Framework contains bad CFBundleExecutable information. The executable name ends with _debug

    . (specifically these frameworks: QtPrintSupport, QtPositioning, QtQml, and QtQuick)


You can find my complete solution here: Unable to sign an app bundle using Qt frameworks in OS X 10.10

+1


source







All Articles