使用未声明的类型'UIWindowScene'

时间:2019-10-24 04:44:14

标签: ios swift xcode cocoapods

我正在使用Xcode进行开发。

cocoapod的BaseNotificationBanner.swift文件的第156行出现错误。

BaseNotificationBanner.swift第156行

.map { $0 as? UIWindowScene }

我该如何解决?

BaseNotificationBanner.swift

/// The main window of the application which banner views are placed on
private let appWindow: UIWindow? = {
    if #available(iOS 13.0, *) {
        return UIApplication.shared.connectedScenes
            .first { $0.activationState == .foregroundActive }
            .map { $0 as? UIWindowScene }
            .map { $0?.windows.first } ?? UIApplication.shared.delegate?.window ?? nil
    }

    return UIApplication.shared.delegate?.window ?? nil
}()

2 个答案:

答案 0 :(得分:1)

UIWindowScene是iOS 13中引入的,似乎您使用的是旧版Xcode,因此,您必须更新到Xcode 11或指定一个旧版的NotificationBanner Pod,如下所示:-

pod 'NotificationBannerSwift', '2.5.0'

答案 1 :(得分:0)

使用Xcode 11可以解决此问题。
我已经安装了Xcode 10和Xcode11。我意识到,如果我使用Xcode 10运行由Xcode 11创建的项目,它将显示错误Use of undeclared type 'UIWindowScene'