SwiftUI - ActionSheet / ShareSheet 导致 'windows' 在 iOS 15.0 中被弃用

SwiftUI - ActionSheet / ShareSheet leads to 'windows' was deprecated in iOS 15.0

我正在使用以下通过按钮触发的代码在我的应用程序中显示分享 sheet:

    func shareSheet() {
           guard let urlShare = URL(string: "https://google.com") else { return }
           let activityVC = UIActivityViewController(activityItems: [urlShare], applicationActivities: nil)
           UIApplication.shared.windows.first?.rootViewController?.present(activityVC, animated: true, completion: nil)
       }

此代码引发警告:

'windows' 在 iOS 15.0 中被弃用:在相关的 window 场景中使用 UIWindowScene.windows 代替

我不明白如何摆脱它。已经检查了此处建议的方法 ,但它不起作用。我有什么想法可以绕过警告吗?

非常感谢!

您可以使用以下方式 UIApplication.shared.currentUIWindow()?.rootViewController

public extension UIApplication {
    func currentUIWindow() -> UIWindow? {
        let connectedScenes = UIApplication.shared.connectedScenes
            .filter({
                [=10=].activationState == .foregroundActive})
            .compactMap({[=10=] as? UIWindowScene})
        
        let window = connectedScenes.first?
            .windows
            .first { [=10=].isKeyWindow }

        return window
        
    }
}