Important: Please read the Qt Code of Conduct -

Publish to Mac OSX App Store

  • Hi,
    I'm publishing Qt apps to iOS App Store using Xcode.
    However, now I need to publish to Mac OSX App Store and I wonder how to do that. When I was searching the Net I'm confused, do I need Xcode in the process? (except being installed), will macdeplyqt sign my app and then I need to use Application Loader to submit App to App Store ?
    According to this post Sandbox app for the Mac App Store codesign does not work, but it was written a year ago. Some howtos are even older Getting a Qt/C++ App in the Mac App Store
    So what is current status for submitting to Mac App Store?

    Best Regards

  • Lifetime Qt Champion


    macdeployqt provides two options to code sign and avoid deploying frameworks that would be rejected by the App Store.

  • @SGaist
    -codesign=<ident> Run codesign with the given identity on all executables
    -appstore-compliant Skip deployment of components that use private API

    So regarding the last option if I see messages like this in Qt Creator does it smell like problems?
    "Project MESSAGE: This project is using private headers and will therefore be tied to this specific Qt module build version.
    Project MESSAGE: Running this project against other versions of the Qt modules may crash at any arbitrary point."

  • Lifetime Qt Champion

    What modules are you using in your application ?

  • @SGaist
    core gui xml concurrent printsupport sql widgets


  • Lifetime Qt Champion

    Haaa sorry, I misread the message.

    Are you using any of Qt's private headers ?

    The message just explains that if you switch Qt version without recompiling your application you are going to enter uncharted territory.

  • @SGaist
    OK but this is no problem for Mac App Store, I assume.
    How about -codesign=<ident>
    What is the value of <ident> ? provisionin profile? apple id?

  • Lifetime Qt Champion

    IIRC, the name of the certificate to use for signing. Usually something like "XXX Distribution".

  • @SGaist Thanks, I will try this soon and report back

  • @SGaist
    Hi I just need some hint, I'm new to macOS.
    I have run qmake -spec macx-xcode on my project which generated project.xcodeproj then it compiles fine and runs under XCode.
    Can't validate it because of lack of sandbox entitlements.
    So I added entitlements then archived product, validated and uploaded to AppStore.
    However, if I run this project with entitlements in XCode it does not start saying:

    warning: 'QtCore' contains a debug script. To run this script in this debug session:
        command script import "/Users/myuser/Qt/5.10.1/clang_64/lib/QtCore.framework.dSYM/Contents/Resources/DWARF/../Python/"
    To run all discovered debug scripts in this session:
        settings set target.load-script-from-symbol-file true
    This application failed to start because it could not find or load the Qt platform plugin "cocoa"
    in "".
    Reinstalling the application may fix this problem.

    So, I assume it will not work, even though it went through validation and upload to App Store :)

    Right approach would be to build in Xcode without entitlements and run macdeployqt on or just codesign with entitlements ?

    Best Regards

  • Strange, I have played with entitlements in XCode Build Settings. I have deleted path to entilements file for Debug and for Release, I have left entitlements for Release -> Any SDK.
    Now it runs fine in XCode and it was also validated and uploaded to App Store.
    I hope it will work ;)


  • @Marek so were you successful in publishing your app? I could get my app running fine with XCode (even with App Sandbox enabled) but when I install and run the .pkg that XCode gives me after publishing for the store, I get this error-

    LSOpenURLsWithRole() failed with error -10810 for the file

    Any tips or things to keep in mind when publishing to Mac store are welcome as well.

  • @shaan7
    I have published. This is old post.
    See this one:


Log in to reply