ios 使用基于场景的应用生命周期切换外部显示器镜像

jjjwad0x  于 2023-08-08  发布在  iOS
关注(0)|答案(1)|浏览(101)

使用基于场景的应用生命周期时,iOS 13的外部屏幕支持已更改。
以前,可以为应用的某些部分实现外部屏幕支持,并依赖于其他部分的镜像。
我不知道如何在iOS 13上获得基于场景的应用生命周期的类似行为。为了支持任何屏幕的非镜像,我需要支持打开具有外部显示角色的场景,但是一旦显示了这一点,就没有办法停用场景来获得镜像。
也许可以手动实现镜像,但我找不到任何有效的方法来镜像其他场景之一。
有人知道如何切换外部显示器的镜像,或者如何手动实现镜像,其中来自另一个场景的UIWindow的所有内容都显示在外部屏幕的UIWindow中?

sycxhyv7

sycxhyv71#

我也面临着同样的问题。并在这里找到了解决方案:重要性:在info.plist中,请使用外部显示会话角色(遗留),不要使用非交互类型!!!

func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
        let sceneConfiguration: UISceneConfiguration

        if connectingSceneSession.role == .windowExternalDisplay {
            sceneConfiguration = UISceneConfiguration.init(name: "External Display Configuration", sessionRole: connectingSceneSession.role)

            // Removing the storyboard prevents the external display scene from being used
            if Settings.shared.externalDisplay == false {
                sceneConfiguration.storyboard = nil
            }
        } else {
            sceneConfiguration = UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
        }

        return sceneConfiguration
    }

字符串
来源:https://hacknicity.medium.com/external-display-support-versus-stage-manager-on-ipados-16-149e15dc700e

相关问题