Avatar ·

如何修复iOS 13及以上版本中已弃用的'keyWindow' (Swift)

大家好!我是一名iOS开发新手,正在用Swift编写应用。最近我将Xcode更新到版本12,我的项目无法编译了。我使用旧方法通过`UIApplication.shared.keyWindow`获取应用的主窗口,但编译器给出警告:`'keyWindow' was deprecated in iOS 13.0`。这是我的代码: ```swift if let keyWindow = UIApplication.shared.keyWindow { // 尝试在最上层显示某个控制器 let alert = UIAlertController(title: "错误", message: "出了点问题", preferredStyle: .alert) keyWindow.rootViewController?.present(alert, animated: true) } ``` 我知道Apple在iOS 13中改变了多任务处理和场景 (UIScene) 相关的内容,但我无法弄清楚现在如何正确获取窗口。我尝试阅读文档,但对新手来说太复杂了。请告诉我如何修复这段代码,使其在iOS 13及以上版本中工作,同时不破坏对旧版本(iOS 12及以下)的支持?提前感谢!