我正在使用云工具包的核心数据,因此必须在应用程序启动期间判断iCloud用户状态.如果出现问题,我想向用户发布一个对话框,到目前为止我使用UIApplication.shared.keyWindow?.rootViewController?.present(...)
.
在Xcode 11 beta 4中,现在有一条新的弃用消息,告诉我:
iOS 13.0中不推荐使用"keyWindow":不应用于支持多个场景的应用程序,因为它会在所有连接的场景中返回一个关键窗口
我该如何呈现对话呢?
我正在使用云工具包的核心数据,因此必须在应用程序启动期间判断iCloud用户状态.如果出现问题,我想向用户发布一个对话框,到目前为止我使用UIApplication.shared.keyWindow?.rootViewController?.present(...)
.
在Xcode 11 beta 4中,现在有一条新的弃用消息,告诉我:
iOS 13.0中不推荐使用"keyWindow":不应用于支持多个场景的应用程序,因为它会在所有连接的场景中返回一个关键窗口
我该如何呈现对话呢?
这是我的解决方案:
let keyWindow = UIApplication.shared.connectedScenes
.filter({$0.activationState == .foregroundActive})
.compactMap({$0 as? UIWindowScene})
.first?.windows
.filter({$0.isKeyWindow}).first
用法,例如:
keyWindow?.endEditing(true)