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

Weird mac .app build (was fine in December)



  • I noticed something odd in a way resulting .app is being build. Can't exactly say when did this happened since I don't codesign too often...

    So, my last deployment was in December and it went as usual: macdeployqt, codesign app, create dmg, codesign dmg, send it over.
    Yesterday I tried to do same but codesign failed repeatedly with peculiar message about root being not sealed in .app file.
    I took a peek inside. Somehow, apart from Content folder that I would expect to be there, there was whole .app file again, so I had:
    In myprogram.app:

    • Content
    • myprogram.app

    Folder myprogram.app had the expected content. In order to codesign and ship I had to manually remove myprogram.app and its subfolders from myprogram.app root.

    Any ideas what had happened here? This is reproducible issue.


  • Lifetime Qt Champion

    Hi,

    Did you change anything in between ?
    Xcode version ?
    Qt Creator ?
    Project parameters ?
    Build output configuration ?



  • @SGaist usual update of QtCreator (I tend to keep it up to date despite introducing new bugs in clang-lazy) and xcode. Nothing else changed, I had a brief update to Qt6 but then rolled back to 5.15.2.
    Precisely:

    • it worked in the first days of December on 5.15.2
    • it worked in the first days of December on 6
    • then fast forward to yesterday when I discovered the issue.

    In the meantime there was update of QtCreator and xcode.


  • Lifetime Qt Champion

    Anything strange in the project setting ?
    Do you have the same issue if you build your project on the command line ?



  • @SGaist No, nothing strange. It is really simple (and I never touch default settings set by the installer). Pro file:

    QT       += core gui svg printsupport
    
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
    
    CONFIG += c++17
    CONFIG += sdk_no_version_check
    
    SOURCES += \
        aboutdialog.cpp \
        main.cpp \
        prefsdialog.cpp \
        qgraphicsmovieitem.cpp \
        viewer.cpp
    
    HEADERS += \
        aboutdialog.h \
        prefsdialog.h \
        qgraphicsmovieitem.h \
        viewer.h
    
    FORMS += \
        aboutdialog.ui \
        prefsdialog.ui \
        viewer.ui
    
    TRANSLATIONS += \
        TNImageViewer_en_GB.ts \
        TNImageViewer_pl_PL.ts
    
    RESOURCES += \
        res.qrc
    
    DISTFILES += \
        TNImageViewer_en_GB.qm \
        TNImageViewer_pl_PL.qm
    
    macx: {
    QTPLUGIN += libcocoa\
            libcocoaprintersupport\
            libqmacstyle
    
    ICON = img/iconTNIV.icns
    
    QMAKE_TARGET_BUNDLE_PREFIX = my.domain.here
    QMAKE_BUNDLE = TNImageViewer
    }
    
    win32: {
    QTPLUGIN += qwindows\
            windowsprintersupport
    
    RC_ICONS += img/TNImageViewer.ico
    }
    
    

    Truth to tell I never build any project using command line. Creator always worked...



  • After the advice from @SGaist I started to experiment a bit with settings of the build steps: problem disappeared after I did these three steps one by one (after each I checked if the problem is gone - it disappeared after the last step:

    • turning off QML debugging and profiling switch (default was "leave default", effective call showed CONFIG+=qml_debug now it is CONFIG-=)
    • turning off QtQuick compiler (default was "leave default, effective call showed CONFIG+=qtquickcompiler now it is CONFIG-=)
    • deleting shadow build folders (I do it routinely once a week or so anyway).

    Now the problem is gone, I am marking the topic as "solved".