Fixes UIApplication.keyWindow deprecation warning

This commit is contained in:
Riley Testut
2023-03-02 15:00:54 -06:00
committed by Magesh K
parent 589ece3860
commit e4dfe1125a

View File

@@ -434,6 +434,21 @@ extension PatreonAPI: ASWebAuthenticationPresentationContextProviding
{
public func presentationAnchor(for session: ASWebAuthenticationSession) -> ASPresentationAnchor
{
return UIApplication.alt_shared?.keyWindow ?? UIWindow()
//TODO: Properly support multiple scenes.
guard let windowScene = UIApplication.alt_shared?.connectedScenes.lazy.compactMap({ $0 as? UIWindowScene }).first else { return UIWindow() }
if #available(iOS 15, *), let keyWindow = windowScene.keyWindow
{
return keyWindow
}
else if let delegate = windowScene.delegate as? UIWindowSceneDelegate,
let optionalWindow = delegate.window,
let window = optionalWindow
{
return window
}
return UIWindow()
}
}