Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

deploy to OSX AppStore



  • Hi
    I'm deploying to iOS AppStore from XCode using -spec macx-xcode for qmake.
    I have now problem deploying to OSX AppStore using the same method, it seems that no Qt libraries are copied into .pkg file. Application compiles fine, runs on Mac, passes validation but crashes during Apple Review (can't load QtPrintSupport). When I export app from XCode I can't see Frameworks directory in Contents.
    Is it possible to upload to OSX AppStore from XCode ?

    I can see Qt Framework in XCode in "General" tab under "Linked Frameworks and Libraries".

    I have also tried to Embed Framework in "Build phases" or "General" tab but then there is an error with codesigning "failed with exit code 1" . It looks like it is trying to sign QtPrintSupport_debug

    Exporting Qt project to XCode and then compiling and uploading to AppStore works fine for iOS, maybe it should work for macOS and I'm just making some error ?

    Best,
    Marek


  • Lifetime Qt Champion

    Hi,

    You should take a look at macdeployqt.



  • @SGaist probably you are right. I'm not big fan of XCode but then again in does a few things for me, managing certificates, profiles, assets and joy of joys even upload works.
    Best,
    Marek


  • Lifetime Qt Champion

    macdeployqt doesn't replace Xcode, it helps you create a complete bundle that you can either make .dmg with or use directly.



  • Hmm, can I run macdeployqt on bundle created by Xcode, with icons migrated to assets ?
    I use XCode only to create package, developemnt is under Linux. To use macdeploy I would rather compile under Qt Creator on Mac, create bundle with macdeployqt and upload with Application Loader, right?


  • Lifetime Qt Champion

    Good question, I don't remember right now the handling of the assets.

    That's one way to do it yes.



  • @SGaist I belive I have seen someone complaining about AppStore require icons to be migrated to assets, even validation in XCode fails before I "Use Assets...".
    Anyway if everyone else are using macdeploy so do I.
    Thanks
    Marek



  • Hi
    I have been trying to upload to OSX AppStore and basically I ended up in the same place like in this post:
    https://forum.qt.io/topic/72385/xcode-deployment-no-such-file-or-directory-code-object-is-not-signed-at-all/6
    can't sign QtFramework in XCode.

    I have switched to Qt Creator and macdeplyqt, I'm able to upload to AppStore but then I receive and email with a lots of error - Invalid Signature for (I think all) Qt components.

    I'm doing this on behalf of Third Party Company, they have Organization Enrollment and they created admin account in Itunnes Connect with my Apple Id, so I can log in and create App for them.

    This is the process I came up with:

    macdeployqt MyApp.app -appstore-compliant -verbose=3
    codesign --deep --sign "Mac Developer: Marek Xxxxxxxxxxx (xxxxxxxxxx)" --entitlements MyApp.entitlements MyApp.app
    productbuild --component MyApp.app /Applications MyApp.pkg
    productsign --sign "3rd Party Mac Developer Installer: Third Party Company (XXXXXXXXXX)" MyApp.pkg MyAppSigned.pkg
    

    When I'm checking package with codesign it doesn't give errors

    
    MacBook-Air-Marek:app-dir usermarek$ codesign --verify --deep --verbose=2 MyApp.app
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/printsupport/libcocoaprintersupport.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/printsupport/libcocoaprintersupport.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/bearer/libqgenericbearer.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/bearer/libqgenericbearer.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/styles/libqmacstyle.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/styles/libqmacstyle.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/iconengines/libqsvgicon.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/iconengines/libqsvgicon.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/platforms/libqcocoa.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/platforms/libqcocoa.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/sqldrivers/libqsqlite.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/sqldrivers/libqsqlite.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqwbmp.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqwbmp.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqgif.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqgif.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/sqldrivers/libqsqlmysql.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/sqldrivers/libqsqlmysql.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqwebp.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqwebp.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqmacheif.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqmacheif.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqico.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqico.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqtiff.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqtiff.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqjpeg.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqjpeg.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqmacjp2.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqtga.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqmacjp2.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqtga.dylib
    MacBook-Air-Marek:app-dir usermarek$ codesign --verify --deep --verbose=2 MyApp.app
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/printsupport/libcocoaprintersupport.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/printsupport/libcocoaprintersupport.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/bearer/libqgenericbearer.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/bearer/libqgenericbearer.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/styles/libqmacstyle.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/styles/libqmacstyle.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/iconengines/libqsvgicon.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/iconengines/libqsvgicon.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/platforms/libqcocoa.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/platforms/libqcocoa.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/sqldrivers/libqsqlite.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/sqldrivers/libqsqlite.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqwbmp.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqwbmp.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqgif.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqgif.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/sqldrivers/libqsqlmysql.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/sqldrivers/libqsqlmysql.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqwebp.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqwebp.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqmacheif.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqmacheif.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqico.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqico.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqtiff.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqtiff.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqjpeg.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqjpeg.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqmacjp2.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqtga.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqmacjp2.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqtga.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqicns.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqicns.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtXml.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtXml.framework/Versions/Current/.
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtPrintSupport.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtPrintSupport.framework/Versions/Current/.
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtGui.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtGui.framework/Versions/Current/.
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtCore.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtCore.framework/Versions/Current/.
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtSql.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtSql.framework/Versions/Current/.
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtSvg.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtSvg.framework/Versions/Current/.
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtConcurrent.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtConcurrent.framework/Versions/Current/.
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtNetwork.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtNetwork.framework/Versions/Current/.
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtWidgets.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtWidgets.framework/Versions/Current/.
    MyApp.app: valid on disk
    MyApp.app: satisfies its Designated Requirement--prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqicns.dylib
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/PlugIns/imageformats/libqicns.dylib
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtXml.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtXml.framework/Versions/Current/.
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtPrintSupport.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtPrintSupport.framework/Versions/Current/.
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtGui.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtGui.framework/Versions/Current/.
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtCore.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtCore.framework/Versions/Current/.
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtSql.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtSql.framework/Versions/Current/.
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtSvg.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtSvg.framework/Versions/Current/.
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtConcurrent.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtConcurrent.framework/Versions/Current/.
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtNetwork.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtNetwork.framework/Versions/Current/.
    --prepared:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtWidgets.framework/Versions/Current/.
    --validated:/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/Frameworks/QtWidgets.framework/Versions/Current/.
    MyApp.app: valid on disk
    MyApp.app: satisfies its Designated Requirement
    
    MacBook-Air-Marek:app-dir usermarek$ codesign -dvv MyApp.app
    Executable=/Users/usermarek/Documents/qt/app-dir/MyApp.app/Contents/MacOS/MyApp
    Identifier=thirdpartycompany.bundlename
    Format=app bundle with Mach-O thin (x86_64)
    CodeDirectory v=20200 size=23681 flags=0x0(none) hashes=732+5 location=embedded
    Signature size=4789
    Authority=Mac Developer: Marek Xxxxxxxxxxx (xxxxxxxxxx)
    Authority=Apple Worldwide Developer Relations Certification Authority
    Authority=Apple Root CA
    Signed Time=26.09.2018, 10:54:11
    Info.plist entries=13
    TeamIdentifier=XXXXXXXXXX
    Sealed Resources version=2 rules=13 files=29
    Internal requirements count=1 size=200
    

    Errors from AppStore in email after upload:

    Invalid Signature - The main app bundle at path MyApp.app has
    following signing error(s):
    --prepared:/Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_620058343365364316dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Contents/Frameworks/QtConcurrent.framework/Versions/Current/.
    --validated:/Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_620058343365364316dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Contents/Frameworks/QtConcurrent.framework/Versions/Current/.
    --prepared:/Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_620058343365364316dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Contents/Frameworks/QtCore.framework/Versions/Current/.
    --validated:/Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_620058343365364316dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Contents/Frameworks/QtCore.framework/Versions/Current/.
    --prepared:/Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_620058343365364316dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Contents/Frameworks/QtGui.framework/Versions/Current/.
    --validated:/Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_620058343365364316dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Contents/Frameworks/QtGui.framework/Versions/Current/.
    ..............................
    --
    validated:/Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_620058343365364316dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Contents/PlugIns/styles/libqmacstyle.dylib
    /Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_620058343365364316dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app:
    valid on disk
    /Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_620058343365364316dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app:
    satisfies its Designated Requirement test-requirement: code failed to satisfy specified code requirement(s) . Refer to the Code Signing and Application Sandboxing Guide at
    http://developer.apple.com/library/mac/#documentation/Security/Conceptual/CodeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at https://developer.apple.com/library/mac/technotes/tn2206/_index.html for more information.
    
    Invalid Signature - The nested app bundle at path
    MyApp.app/Contents/Frameworks/QtConcurrent.framework has following
    signing error(s): valid on disk
    /Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_6200583433653643
    16dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Contents/Frameworks/QtConcurrent.framework/Versions/5: satisfies its Designated
    Requirement test-requirement: code failed to satisfy specified code
    requirement(s) . Refer to the Code Signing and Application Sandboxing Guide
    at
    http://developer.apple.com/library/mac/#documentation/Security/Conceptual/C
    odeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at
    https://developer.apple.com/library/mac/technotes/tn2206/_index.html for
    more information.
    
    Invalid Signature - The nested app bundle at path
    MyApp.app/Contents/Frameworks/QtCore.framework has following
    signing error(s): valid on disk
    /Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_6200583433653643
    16dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Conte
    nts/Frameworks/QtCore.framework/Versions/5: satisfies its Designated
    Requirement test-requirement: code failed to satisfy specified code
    requirement(s) . Refer to the Code Signing and Application Sandboxing Guide
    at
    http://developer.apple.com/library/mac/#documentation/Security/Conceptual/C
    odeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at
    https://developer.apple.com/library/mac/technotes/tn2206/_index.html for
    more information.
    
    Invalid Signature - The nested app bundle at path
    MyApp.app/Contents/Frameworks/QtGui.framework has following
    signing error(s): valid on disk
    /Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_6200583433653643
    16dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Conte
    nts/Frameworks/QtGui.framework/Versions/5: satisfies its Designated
    Requirement test-requirement: code failed to satisfy specified code
    requirement(s) . Refer to the Code Signing and Application Sandboxing Guide
    at
    http://developer.apple.com/library/mac/#documentation/Security/Conceptual/C
    odeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at
    https://developer.apple.com/library/mac/technotes/tn2206/_index.html for
    more information.
    
    Invalid Signature - The nested app bundle at path
    MyApp.app/Contents/Frameworks/QtNetwork.framework has following
    signing error(s): valid on disk
    /Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_6200583433653643
    16dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Conte
    nts/Frameworks/QtNetwork.framework/Versions/5: satisfies its Designated
    Requirement test-requirement: code failed to satisfy specified code
    requirement(s) . Refer to the Code Signing and Application Sandboxing Guide
    at
    http://developer.apple.com/library/mac/#documentation/Security/Conceptual/C
    odeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at
    https://developer.apple.com/library/mac/technotes/tn2206/_index.html for
    more information.
    
    .................
    
    Invalid Signature - The executable at path
    MyApp.app/Contents/PlugIns/printsupport/libcocoaprintersupport.dyl
    ib has following signing error(s): valid on disk
    /Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_6200583433653643
    16dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Conte
    nts/PlugIns/printsupport/libcocoaprintersupport.dylib: satisfies its
    Designated Requirement test-requirement: code failed to satisfy specified
    code requirement(s) . Refer to the Code Signing and Application Sandboxing
    Guide at
    http://developer.apple.com/library/mac/#documentation/Security/Conceptual/C
    odeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at
    https://developer.apple.com/library/mac/technotes/tn2206/_index.html for
    more information.
    
    Invalid Signature - The executable at path
    MyApp.app/Contents/PlugIns/sqldrivers/libqsqlite.dylib has
    following signing error(s): valid on disk
    /Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_6200583433653643
    16dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Conte
    nts/PlugIns/sqldrivers/libqsqlite.dylib: satisfies its Designated
    Requirement test-requirement: code failed to satisfy specified code
    requirement(s) . Refer to the Code Signing and Application Sandboxing Guide
    at
    http://developer.apple.com/library/mac/#documentation/Security/Conceptual/C
    odeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at
    https://developer.apple.com/library/mac/technotes/tn2206/_index.html for
    more information.
    
    Invalid Signature - The executable at path
    MyApp.app/Contents/PlugIns/sqldrivers/libqsqlmysql.dylib has
    following signing error(s): valid on disk
    /Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_6200583433653643
    16dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Conte
    nts/PlugIns/sqldrivers/libqsqlmysql.dylib: satisfies its Designated
    Requirement test-requirement: code failed to satisfy specified code
    requirement(s) . Refer to the Code Signing and Application Sandboxing Guide
    at
    http://developer.apple.com/library/mac/#documentation/Security/Conceptual/C
    odeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at
    https://developer.apple.com/library/mac/technotes/tn2206/_index.html for
    more information.
    
    Invalid Signature - The executable at path
    MyApp.app/Contents/PlugIns/styles/libqmacstyle.dylib has following
    signing error(s): valid on disk
    /Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_6200583433653643
    16dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Conte
    nts/PlugIns/styles/libqmacstyle.dylib: satisfies its Designated Requirement
    test-requirement: code failed to satisfy specified code requirement(s) .
    Refer to the Code Signing and Application Sandboxing Guide at
    http://developer.apple.com/library/mac/#documentation/Security/Conceptual/C
    odeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at
    https://developer.apple.com/library/mac/technotes/tn2206/_index.html for
    more information.
    
    ...................
    
    Invalid Signature - The executable at path
    MyApp.app/Contents/PlugIns/bearer/libqgenericbearer.dylib has
    following signing error(s): valid on disk
    /Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_6200583433653643
    16dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Conte
    nts/PlugIns/bearer/libqgenericbearer.dylib: satisfies its Designated
    Requirement test-requirement: code failed to satisfy specified code
    requirement(s) . Refer to the Code Signing and Application Sandboxing Guide
    at
    http://developer.apple.com/library/mac/#documentation/Security/Conceptual/C
    odeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at
    https://developer.apple.com/library/mac/technotes/tn2206/_index.html for
    more information.
    
    Invalid Signature - The executable at path
    MyApp.app/Contents/PlugIns/iconengines/libqsvgicon.dylib has
    following signing error(s): valid on disk
    /Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_6200583433653643
    16dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Conte
    nts/PlugIns/iconengines/libqsvgicon.dylib: satisfies its Designated
    Requirement test-requirement: code failed to satisfy specified code
    requirement(s) . Refer to the Code Signing and Application Sandboxing Guide
    at
    http://developer.apple.com/library/mac/#documentation/Security/Conceptual/C
    odeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at
    https://developer.apple.com/library/mac/technotes/tn2206/_index.html for
    more information.
    
    Invalid Signature - The executable at path
    MyApp.app/Contents/PlugIns/imageformats/libqgif.dylib has
    following signing error(s): valid on disk
    /Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_6200583433653643
    16dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Conte
    nts/PlugIns/imageformats/libqgif.dylib: satisfies its Designated Requirement
    test-requirement: code failed to satisfy specified code requirement(s) .
    Refer to the Code Signing and Application Sandboxing Guide at
    http://developer.apple.com/library/mac/#documentation/Security/Conceptual/C
    odeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at
    https://developer.apple.com/library/mac/technotes/tn2206/_index.html for
    more information.
    
    ..............
    
    Invalid Signature - The executable at path
    MyApp.app/Contents/PlugIns/imageformats/libqwbmp.dylib has
    following signing error(s): valid on disk
    /Volumes/data01/app_data/dstr/mz_5904469723467395417dir/mz_6200583433653643
    16dir/thirdpartycompany.bundlename.pkg/Payload/MyApp.app/Conte
    nts/PlugIns/imageformats/libqwbmp.dylib: satisfies its Designated
    Requirement test-requirement: code failed to satisfy specified code
    requirement(s) . Refer to the Code Signing and Application Sandboxing Guide
    at
    http://developer.apple.com/library/mac/#documentation/Security/Conceptual/C
    odeSigningGuide/AboutCS/AboutCS.html and Technical Note 2206 at
    https://developer.apple.com/library/mac/technotes/tn2206/_index.html for
    more information.
    

    I need some help ;)

    Best,
    Marek


  • Lifetime Qt Champion

    What Qt modules are you using ?
    What version of Qt are you using ?



  • @SGaist
    Hi, sorry for late reply.
    Qt 5.11.1
    modules: core,gui,xml,concurrent,printsupport, (sql - now disabled, this might be a problem because of private api)

    I think I have solved my issue, at least it is accepted by AppStore and goes to review.
    The problem was that I have signed MyApp.app with wrong certificate. Apple docs says: sign with distribution certificate. Since I'm doing this for other company I have in my chain except for my certs also two certs:
    3rd party Mac Developer Application
    3rd party Mac Developer Installer
    If I sign app in this order:
    3rd party Mac Developer Application for bundle
    3rd party Mac Developer Installer for product
    it works OK, although when I check MyApp.app with command (also from Apple docs):

    codesign --verify -vvvv -R='anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.1] exists and (certificate leaf[field.1.2.840.113635.100.6.1.2] exists or certificate leaf[field.1.2.840.113635.100.6.1.4] exists)' MyApp.app
    

    it says:

    MyApp.app: valid on disk
    MyApp.app: satisfies its Designated Requirement
    test-requirement: code failed to satisfy specified code requirement(s)
    

    I'm still waiting for app to pass Apple Review.

    Best,
    Marek



  • App has been approved.
    Best,
    Marek


  • Lifetime Qt Champion

    Glad you found out and thanks for sharing !

    Happy coding !



  • @Marek so in your successful flow you don't use XCode at all? In other words, is this the correct process-

    1. Build .app on Release with Qt Creator (with iconset added via .pro)
    2. Add entitilements file with Sanboxing enabled
    3. Run macdeployqt, codesign, productbuild, productsign with the right certificates
    4. Upload the .pkg using Application Loader


  • @shaan7 more or less yes. Just for codesign command I have also added the Entitlement file, see posts
    I'm using XCode when uploading iOS apps to AppStore but for OSX I coudn't find a way because of sandboxing.

    Best,
    Marek


Log in to reply