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 -
Hi,
You should take a look at macdeployqt.
-
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? -
Good question, I don't remember right now the handling of the assets.
That's one way to do it yes.
-
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 -
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 -
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-
- Build .app on Release with Qt Creator (with iconset added via .pro)
- Add entitilements file with Sanboxing enabled
- Run macdeployqt, codesign, productbuild, productsign with the right certificates
- Upload the .pkg using Application Loader