我正在将Core Data和Cloud Kit一起使用,因此必须在应用程序启动期间检查iCloud用户状态。如果出现问题,我想向用户发出一个对话框,直到现在我都使用UIApplication.shared.keyWindow?.rootViewController?.present(...)
进行。
在Xcode 11 beta 4中,现在有一条新的弃用消息,告诉我:
“keyWindow”在IOS 13.0中弃用:不应该被用于支持多个场景的应用,因为它在所有连接的场景返回键窗口
我该如何显示对话框?
最佳答案
这是我的解决方案:
let keyWindow = UIApplication.shared.connectedScenes
.filter({$0.activationState == .foregroundActive})
.map({$0 as? UIWindowScene})
.compactMap({$0})
.first?.windows
.filter({$0.isKeyWindow}).first
用法,例如:
keyWindow?.endEditing(true)
关于uikit - 如何解决:iOS 13.0中不推荐使用“keyWindow”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58241234/