Avatar ·

So beheben Sie das veraltete 'keyWindow' in iOS 13 und höher (Swift)

Hallo zusammen! Ich bin ein angehender iOS-Entwickler und schreibe eine App in Swift. Kürzlich habe ich Xcode auf Version 12 aktualisiert, und mein Projekt lässt sich nicht mehr kompilieren. Ich verwende die alte Methode, um das Hauptfenster der App über `UIApplication.shared.keyWindow` zu erhalten, aber der Compiler gibt eine Warnung aus: `'keyWindow' was deprecated in iOS 13.0`. Hier ist mein Code: ```swift if let keyWindow = UIApplication.shared.keyWindow { // Versuche, einen Controller über allem anzuzeigen let alert = UIAlertController(title: "Fehler", message: "Etwas ist schiefgelaufen", preferredStyle: .alert) keyWindow.rootViewController?.present(alert, animated: true) } ``` Ich verstehe, dass Apple in iOS 13 etwas mit Multitasking und Szenen (UIScene) geändert hat, aber ich kann nicht herausfinden, wie man jetzt richtig das Fenster erhält. Ich habe versucht, die Dokumentation zu lesen, aber sie ist für Anfänger zu kompliziert. Könnt ihr mir sagen, wie ich diesen Code reparieren kann, damit er auf iOS 13 und höher funktioniert, aber gleichzeitig die Unterstützung für ältere Versionen (iOS 12 und niedriger) nicht kaputt macht? Vielen Dank im Voraus!