iOS 16 mismatch between windowScene & UIViewController interfaceOrientation

This is another strange issue on iOS 16, and one among the many woes that cause autoRotation problems on the platform. At the app startup time, there is a mismatch between -[UIViewController interfaceOrientation] (now deprecated), -[UIViewController supportedInterfaceOrientations] (which returns .landscapeRight), and -[windowScene interfaceOrientation].

     public var windowOrientation: UIInterfaceOrientation {
        return view.window?.windowScene?.interfaceOrientation ?? .unknown
    }

     override func viewDidLayoutSubviews() {

        super.viewDidLayoutSubviews()

        layoutInterfaceForOrientation(windowOrientation)

    }

    override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
        return .landscapeRight

Putting a breakpoint in viewDidLayoutSubviews reveals that windowOrientation is portrait while interfaceOrientation is .landscapeRight.

Is there anyway this can be fixed or any workaround possible?

iOS 16 mismatch between windowScene & UIViewController interfaceOrientation
 
 
Q