【发布时间】:2020-07-11 22:39:42
【问题描述】:
所以,我最近将我的 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
}
}
我基本上将它用于我在应用内实现的日历。
所以,现在当我尝试运行该应用程序时,出现以下两个错误:
协议“Strideable”要求“advanced(by:)”在 iOS 11.0.0 及更高版本中可用
“Strideable”协议要求“distance(to:)”在 iOS 11.0.0 及更高版本中可用
如您所见,我已经实现了这两个功能。
在我的应用部署信息中,我将 iOS 11.0 作为应用的最低要求。
此外,该应用程序的当前版本已在 App Store 上发布并且运行良好。这可能是什么问题?
【问题讨论】: