Details
-
Bug
-
Resolution: Invalid
-
P1: Critical
-
None
-
5.1.1, 5.6.1
-
macOS 10.9, 10.10
Description
I am trying to Sign my QtQuick application and I am having problems.
I've noticed that the rules for signing have changed on Maverics (OS X 10.9). We need to sign almost every file in the AppBundle.
When I try to sign the executable, I'm having the following error:
codesign --force --verify --verbose --sign "Developer ID Application: XXXX" MyApp.app/Contents/MacOS/main
MyApp.app/Contents/MacOS/main: replacing existing signature
MyApp.app/Contents/MacOS/main: bundle format unrecognized, invalid, or unsuitable
In subcomponent: MyApp.app/Contents/MacOS/QtQuick/Particles.2
The problematic directories are:
MyApp.app/Contents/MacOS/QtQuick/Particles.2/
MyApp.app/Contents/MacOS/QtQuick/Window.2/
MyApp.app/Contents/MacOS/QtQuick.2/
When I try to sign one of the problematic directory and all its contents I am getting this:
For the content there is no problem:
codesign --force --verify --verbose --sign "Developer ID Application: XXXX" MyApp.app/Contents/MacOS/QtQuick/Particles.2/libparticlesplugin.dylib
MyApp.app/Contents/MacOS/QtQuick/Particles.2/libparticlesplugin.dylib: replacing existing signature
MyApp.app/Contents/MacOS/QtQuick/Particles.2/libparticlesplugin.dylib: signed Mach-O thin (x86_64) [libparticlesplugin]
codesign --force --verify --verbose --sign "Developer ID Application: XXXX" MyApp.app/Contents/MacOS/QtQuick/Particles.2/plugins.qmltypes
MyApp.app/Contents/MacOS/QtQuick/Particles.2/plugins.qmltypes: replacing existing signature
MyApp.app/Contents/MacOS/QtQuick/Particles.2/plugins.qmltypes: signed generic [plugins]
codesign --force --verify --verbose --sign "Developer ID Application: XXXX" MyApp.app/Contents/MacOS/QtQuick/Particles.2/qmldir
MyApp.app/Contents/MacOS/QtQuick/Particles.2/qmldir: replacing existing signature
MyApp.app/Contents/MacOS/QtQuick/Particles.2/qmldir: signed generic [qmldir]
But when trying to sign the entire directory, I'm getting this error
codesign --force --verify --verbose --sign "Developer ID Application: XXXX" MyApp.app/Contents/MacOS/QtQuick/Particles.2
MyApp.app/Contents/MacOS/QtQuick/Particles.2: bundle format unrecognized, invalid, or unsuitable
I think it may be a problem with the directory name like "Particles.2".
If I remove the Particles.2, the error disappears and I can sign the entire AppBundle.
If I rename Particles.2 to Particles2, the error disappears and I can sign the entire AppBundle.
The problem is that I can't remove or rename these directories, I need them as they are now, without it my QtQuick App stops working
Here ir my simplified AppBundle directory structure:
MyApp.app/Contents/Frameworks/...
MyApp.app/Contents/Info.plist
MyApp.app/Contents/MacOS/main
MyApp.app/Contents/MacOS/QtGraphicalEffects/Blend.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/BrightnessContrast.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/Colorize.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/ColorOverlay.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/ConicalGradient.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/Desaturate.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/DirectionalBlur.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/Displace.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/DropShadow.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/FastBlur.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/GammaAdjust.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/GaussianBlur.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/Glow.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/HueSaturation.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/InnerShadow.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/LevelAdjust.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/LinearGradient.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/MaskedBlur.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/OpacityMask.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/private/FastGlow.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/private/FastInnerShadow.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/private/FastMaskedBlur.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/private/GaussianDirectionalBlur.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/private/GaussianGlow.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/private/GaussianInnerShadow.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/private/GaussianMaskedBlur.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/private/SourceProxy.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/qmldir
MyApp.app/Contents/MacOS/QtGraphicalEffects/RadialBlur.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/RadialGradient.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/RectangularGlow.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/RecursiveBlur.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/ThresholdMask.qml
MyApp.app/Contents/MacOS/QtGraphicalEffects/ZoomBlur.qml
MyApp.app/Contents/MacOS/QtMultimedia/libdeclarative_multimedia.dylib
MyApp.app/Contents/MacOS/QtMultimedia/plugins.qmltypes
MyApp.app/Contents/MacOS/QtMultimedia/qmldir
MyApp.app/Contents/MacOS/QtMultimedia/Video.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/ApplicationWindow.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Button.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/CheckBox.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/ComboBox.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/GroupBox.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Label.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/libqtquickcontrolsplugin.dylib
MyApp.app/Contents/MacOS/QtQuick/Controls/Menu.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/MenuBar.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/plugins.qmltypes
MyApp.app/Contents/MacOS/QtQuick/Controls/Private/AbstractCheckable.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Private/BasicButton.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Private/Control.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Private/FocusFrame.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Private/libqtquickcontrolsprivateplugin.dylib
MyApp.app/Contents/MacOS/QtQuick/Controls/Private/ModalPopupBehavior.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Private/qmldir
MyApp.app/Contents/MacOS/QtQuick/Controls/Private/ScrollBar.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Private/ScrollViewHelper.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Private/StackView.js
MyApp.app/Contents/MacOS/QtQuick/Controls/Private/StackViewSlideDelegate.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Private/style.js
MyApp.app/Contents/MacOS/QtQuick/Controls/Private/Style.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Private/TabBar.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/ProgressBar.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/qmldir
MyApp.app/Contents/MacOS/QtQuick/Controls/RadioButton.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/ScrollView.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Slider.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/SpinBox.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/SplitView.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/StackView.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/StackViewDelegate.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/StackViewTransition.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/StatusBar.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/ButtonStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/CheckBoxStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/ComboBoxStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/FocusFrameStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/GroupBoxStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/arrow-down.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/arrow-down@2x.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/arrow-left.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/arrow-left@2x.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/arrow-right.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/arrow-right@2x.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/arrow-up.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/arrow-up@2x.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/button.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/button_down.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/editbox.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/focusframe.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/groupbox.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/header.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/progress-indeterminate.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/scrollbar-handle-horizontal.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/scrollbar-handle-vertical.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/tab.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/images/tab_selected.png
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/MenuBarStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/MenuStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/ProgressBarStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/RadioButtonStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/ScrollViewStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/SliderStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/SpinBoxStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/StatusBarStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/TableViewStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/TabViewStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/TextFieldStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/ToolBarStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Base/ToolButtonStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/ButtonStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/CheckBoxStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/ComboBoxStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/FocusFrameStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/GroupBoxStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/MenuBarStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/MenuStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/ProgressBarStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/RadioButtonStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/ScrollViewStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/SliderStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/SpinBoxStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/StatusBarStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/TableViewStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/TabViewStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/TextFieldStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/ToolBarStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/Desktop/ToolButtonStyle.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/Styles/qmldir
MyApp.app/Contents/MacOS/QtQuick/Controls/Tab.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/TableView.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/TableViewColumn.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/TabView.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/TextArea.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/TextField.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/ToolBar.qml
MyApp.app/Contents/MacOS/QtQuick/Controls/ToolButton.qml
MyApp.app/Contents/MacOS/QtQuick/Dialogs/DefaultColorDialog.qml
MyApp.app/Contents/MacOS/QtQuick/Dialogs/DefaultFileDialog.qml
MyApp.app/Contents/MacOS/QtQuick/Dialogs/images/checkers.png
MyApp.app/Contents/MacOS/QtQuick/Dialogs/images/copy.png
MyApp.app/Contents/MacOS/QtQuick/Dialogs/images/crosshairs.png
MyApp.app/Contents/MacOS/QtQuick/Dialogs/images/folder.png
MyApp.app/Contents/MacOS/QtQuick/Dialogs/images/slider_handle.png
MyApp.app/Contents/MacOS/QtQuick/Dialogs/images/sunken_frame.png
MyApp.app/Contents/MacOS/QtQuick/Dialogs/images/up.png
MyApp.app/Contents/MacOS/QtQuick/Dialogs/images/window_border.png
MyApp.app/Contents/MacOS/QtQuick/Dialogs/libdialogplugin.dylib
MyApp.app/Contents/MacOS/QtQuick/Dialogs/plugins.qmltypes
MyApp.app/Contents/MacOS/QtQuick/Dialogs/qml/Button.qml
MyApp.app/Contents/MacOS/QtQuick/Dialogs/qml/ColorSlider.qml
MyApp.app/Contents/MacOS/QtQuick/Dialogs/qml/DefaultWindowDecoration.qml
MyApp.app/Contents/MacOS/QtQuick/Dialogs/qml/qmldir
MyApp.app/Contents/MacOS/QtQuick/Dialogs/qml/TextField.qml
MyApp.app/Contents/MacOS/QtQuick/Dialogs/qmldir
MyApp.app/Contents/MacOS/QtQuick/Dialogs/WidgetColorDialog.qml
MyApp.app/Contents/MacOS/QtQuick/Dialogs/WidgetFileDialog.qml
MyApp.app/Contents/MacOS/QtQuick/Layouts/libqquicklayoutsplugin.dylib
MyApp.app/Contents/MacOS/QtQuick/Layouts/plugins.qmltypes
MyApp.app/Contents/MacOS/QtQuick/Layouts/qmldir
MyApp.app/Contents/MacOS/QtQuick/LocalStorage/libqmllocalstorageplugin.dylib
MyApp.app/Contents/MacOS/QtQuick/LocalStorage/plugins.qmltypes
MyApp.app/Contents/MacOS/QtQuick/LocalStorage/qmldir
MyApp.app/Contents/MacOS/QtQuick/Particles.2/libparticlesplugin.dylib
MyApp.app/Contents/MacOS/QtQuick/Particles.2/plugins.qmltypes
MyApp.app/Contents/MacOS/QtQuick/Particles.2/qmldir
MyApp.app/Contents/MacOS/QtQuick/PrivateWidgets/libwidgetsplugin.dylib
MyApp.app/Contents/MacOS/QtQuick/PrivateWidgets/plugins.qmltypes
MyApp.app/Contents/MacOS/QtQuick/PrivateWidgets/qmldir
MyApp.app/Contents/MacOS/QtQuick/Window.2/libwindowplugin.dylib
MyApp.app/Contents/MacOS/QtQuick/Window.2/plugins.qmltypes
MyApp.app/Contents/MacOS/QtQuick/Window.2/qmldir
MyApp.app/Contents/MacOS/QtQuick/XmlListModel/libqmlxmllistmodelplugin.dylib
MyApp.app/Contents/MacOS/QtQuick/XmlListModel/plugins.qmltypes
MyApp.app/Contents/MacOS/QtQuick/XmlListModel/qmldir
MyApp.app/Contents/MacOS/QtQuick.2/libqtquick2plugin.dylib
MyApp.app/Contents/MacOS/QtQuick.2/plugins.qmltypes
MyApp.app/Contents/MacOS/QtQuick.2/qmldir
MyApp.app/Contents/PkgInfo
MyApp.app/Contents/PlugIns/...
MyApp.app/Contents/Resources/...
I reported to Apple in this thread.
https://devforums.apple.com/message/917157
I suspect that Qt directories are violating some Apple Signing rule. I don't know about these rules I want Apple comfirms what is going on.
Is there any possibility to change de the directory names of QtQuick?
Thanks and Regards,
Fernando Pelliccioni