Was ich bisher habe:
- App-Struktur mit @UIApplicationDelegateAdaptor(AppDelegate.self)
Code: Select all
@main - und ExternalDisplayView. Wenn möglich, möchte ich, dass Letzteres nur auf einem externen Display angezeigt wird (und nicht beispielsweise in einem anderen Fenster auf einem iPad).
Code: Select all
InternalDisplayView - Mir ist aufgefallen, dass die Beobachtung von UIScreen.didConnectNotification funktioniert, aber es ist veraltet und wird vermutlich seit Xcode 16 entfernt, daher möchte ich UIAppDelegate und UIWindowSceneDelegate verwenden.
In AppDelegate habe ich:
Code: Select all
func application(
_ application: UIApplication,
configurationForConnecting connectingSceneSession: UISceneSession,
options: UIScene.ConnectionOptions
) -> UISceneConfiguration {
let config: UISceneConfiguration = if connectingSceneSession.configuration.role == .windowExternalDisplayNonInteractive {
.init(name: "External",
sessionRole: .windowExternalDisplayNonInteractive)
} else {
.init(name: "Default",
sessionRole: connectingSceneSession.role)
}
config.delegateClass = SceneDelegate.self // my custom SceneDelegate
return config
}
Was mache ich in diesem Setup falsch?
Mobile version