更新我的 XCode 后,我收到一个 Strideable 错误

After updating my XCode, I get a Strideable error

所以,我最近将我的 MacOS 更新到 Catalina 并安装了 XCode 11.5。在那之前我有 High Sierra 和 High Sierra 支持的 XCode 的最大版本(不记得版本号)。

因此,我基于该组合构建的应用程序在 XCode 中运行良好,但现在更新后,当我打开时我无法 运行 该应用程序,因为我收到 Strideable 错误。我的一个控制器中有以下代码,在此之前运行良好:

extension Date : Strideable {
    public func advanced(by n: Int) -> Date {
        return Calendar.current.date(byAdding: .day, value: n, to: self) ?? self
    }
    
    public func distance(to other: Date) -> Int {
        return Calendar.current.dateComponents([.day], from: other, to: self).day ?? 0
    }
}

我基本上将其用于我在应用程序中实现的日历。

所以,现在当我尝试 运行 应用程序时,我遇到了这两个错误:

Protocol 'Strideable' requires 'advanced(by:)' to be available in iOS 11.0.0 and newer

Protocol 'Strideable' requires 'distance(to:)' to be available in iOS 11.0.0 and newer

如您所见,我已经实现了这两个功能。

在我的应用程序的部署信息中,我有 iOS 11.0 作为应用程序的最低要求。

此外,该应用程序的当前版本已在 App Store 上发布并且运行良好。这可能是什么问题?

好吧,我不确定为什么,但显然在某个时候有 Strideable 的更新,所以我唯一要做的就是删除我的 Strideable 扩展。

一旦我这样做了,应用程序就可以正常运行了。