I write this macOS app with Python PyQt and build a “.pkg” file, without using Xcode, and use Transporter app to verify. I successfully build the “.pkg” file which can pass Transporter app’s verification.
When I do the code signing with my.app, I get the error message
my.app: replacing existing signature
my.app: bundle format unrecognized, invalid, or unsuitable
In subcomponent: my.app/Contents/MacOS/lib/PyQt5/Qt5/qml/QtQml/Models.2
so I find the answer https://github.com/pyinstaller/pyinstaller/wiki/Recipe-OSX-Code-Signing-Qt to solve this problem.
Below is my command:
python Installer/mac/fix_app_qt_folder_names_for_codesign.py Installer/my.app
pkgbuild --install-location /Applications --component my.app my.pkg
productbuild --distribution dist.xml --package-path ./my.pkg ./my_final.pkg
productsign --sign "***" my.pkg my_signed.pkg
my.app directory tree
my.app
├───Contents
├───_CodeSignature
├───embedded.provisionprofile
├───Frameworks
├───Info.plist
├───MacOS
└───Resources
├───icon.icns
└───lib
└───PyQt5
└───Qt5
├───lib
└───qml
However, an error message appears when the “.pkg” file verified by Transporter App:
Error Message:ITMS-90260: Bad Bundle Executable - You must include a valid CFBundleExecutable key in the nested bundle [my.pkg/Payload/my.app/Contents/Resources/lib/PyQt5/Qt5/lib/QtBluetooth.framework] property list file. property list file.
Does anyone know what the reasons might be and how I could do to pass the verification?