J'essaie de construire mon application avec Xcode 11 Beta 6 et iOS 13 Beta 8, mais cela jette cette erreur une fois qu'il commence à exécuter:
Application de terminaison due à une exception non capturée 'NsinternalinconsisconsisencyException', raison: 'App appelé -statusbar ou -Statusbarwindow sur UIAPPLication: Ce code doit être modifié car il n'y a plus une barre d'état ou une fenêtre de barre d'état. Utilisez l'objet StatusBarManager sur le Scène de la fenêtre à la place. '
Quelle est la scène de la fenêtre et comment utiliser le statusBarManager
?
Et je ne suis pas sûr que cela soit pertinent, mais je n'utilise aucun SwiftUI
.
Pour accéder à la barre d'état dans Swift 5+ et iOS 13 +
Besoin de remplacer -Satusbar ou -StatusWindow avec StatusBarManager.
if #available(iOS 13.0, *) {
let statusBar = UIView(frame: UIApplication.shared.windows.filter {$0.isKeyWindow}.first?.windowScene?.statusBarManager?.statusBarFrame ?? CGRect.zero)
statusBar.backgroundColor = .appNavigationThemeColor
// statusBar.tag = 100
UIApplication.shared.windows.filter {$0.isKeyWindow}.first?.addSubview(statusBar)
} else {
let statusBar = UIApplication.shared.value(forKeyPath: "statusBarWindow.statusBar") as? UIView
statusBar?.backgroundColor = .appNavigationThemeColor
}
}
J'espère aidera :)