Ich verwende derzeit Xcode 11 Beta 5. In meiner Anwendung läuft es unter iOS 12 und darunter einwandfrei. Unter iOS 13 sieht es jedoch so aus, als würde standardmäßig UIScene verwendet. Dies führt dazu, dass meine App nichts tut.
Wenn die App bei einer Neuinstallation gestartet wird, muss der Benutzer die allgemeinen Geschäftsbedingungen akzeptieren. Nachdem sie zugestimmt haben, gehen sie zu einem Ladebildschirm, der sie zur Hauptansicht weiterleitet. In dem Screenshot, den ich gepostet habe, ist die Ansicht hinter der aktuellen im Vordergrund der Splash-Ladebildschirm.
Wir werden uns in Kürze mit der Unterstützung von Szenen mit mehreren Ansichten in der gesamten Anwendung befassen, aber im Moment haben wir Dinge mit höherer Priorität, an denen wir arbeiten müssen.
"Mehrere Fenster unterstützen" ist in den allgemeinen Einstellungen des App-Ziels bereits deaktiviert. Außerdem habe ich in der Datei info.plist die Option Mehrere Fenster aktivieren auf NEIN gesetzt.
Bisher hat nichts wirklich funktioniert. Grundsätzlich möchte ich mehrere Fenster und UIScene / SwiftUI deaktivieren, um das ursprüngliche Verhalten in iOS 10-12 wiederherzustellen. Ist das in iOS 13 möglich oder müssen wir es aktualisieren?
Aktualisieren:
Hier ist ein Screenshot der Ansichts-Debug-Hierarchie. Die linke Seite ist iOS 12, die rechte Seite ist iOS 13. Warum ist es anders, ohne der Info.plist etwas hinzuzufügen oder Klassen oder Methoden für Szenendelegierte hinzuzufügen? Es wurde so ziemlich nur in seinem vorhandenen produktionsfertigen Code auf Xcode 11 ausgeführt.
viewWill|DidAppear
in iOS 13 nicht als gleich bezeichnet werden, wenn Sie beispielsweise präsentierte View-Controller schließen. Fügen Sie viele Debugging-Meldungen und Haltepunkte für den Lebenszyklus hinzu und vergleichen Sie den Ablauf zwischen iOS 12 und 13, um festzustellen, wo er sich unterscheidet.