- 
    Bug 
- 
    Resolution: Done
- 
    P3: Somewhat important 
- 
    None
- 
    6.0
In qmake in features/uikit/qt.prf there are these 2 pieces of code
!bitcode {
        # By marking qt_registerPlatformPlugin as undefined, we ensure that
        # the plugin.o translation unit is considered for inclusion in
        # the final binary, which in turn ensures that the plugin's
        # static initializer is included and run.
        QMAKE_LFLAGS += -u _qt_registerPlatformPlugin
    }
    !no_main_wrapper {
        # The LC_MAIN load command available in iOS 6.0 and above allows dyld to
        # directly call the entrypoint instead of going through _start in crt.o.
        # Passing -e to the linker changes the entrypoint from _main to our custom
        # wrapper that calls UIApplicationMain and dispatches back to main() once
        # the application has started up and is ready to initialize QApplication.
        QMAKE_LFLAGS += -Wl,-e,_qt_main_wrapper
    }
These ensure that a built iOS application loads a different entry point than main (_qt_main_wrapper). Otherwise launching the application will crash.
We should investigate how we can achieve the same for a CMake-based iOS application.
One thing to consider is to either rename or hijack the Qt6::WinMain target.
- relates to
- 
                    QTBUG-87198 Configuring example targeting iOS with CMake + Xcode generator fails -         
- Closed
 
-         
- replaces
- 
                    QTBUG-64711 iOS: Building basic Qt application with CMake fails -         
- Closed
 
-