Einrichtung der SwiftUI-App für mehrere Bildschirme mithilfe von SzenenIOS

Programmierung für iOS
Anonymous
 Einrichtung der SwiftUI-App für mehrere Bildschirme mithilfe von Szenen

Post by Anonymous »

Ich versuche, eine SwiftUI-App einzurichten, die unterschiedliche Benutzeroberflächen auf der Geräte-App und dem externen, nicht interaktiven Display anzeigt (wie es Keynote bei Präsentationen tut).
Was ich bisher habe:
  • Code: Select all

    @main
    App-Struktur mit @UIApplicationDelegateAdaptor(AppDelegate.self)
  • Code: Select all

    InternalDisplayView
    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).
  • 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.
Ich habe versucht, sowohl die info.plist mit zwei verschiedenen Szenentypen einzurichten als auch keine einzurichten. Ich habe „Mehrere Fenster aktivieren“ sowohl auf „JA“ als auch auf „NEIN“ gesetzt.
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
}
Aber beim Anschließen eines externen Displays ist die Rolle .windowExternalDisplayNonInteractive nicht festgelegt. Tatsächlich wird diese AppDelegate-Funktion nicht aufgerufen, wenn das Display überhaupt eine Verbindung herstellt.
Was mache ich in diesem Setup falsch?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post