更新我的 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
扩展。
一旦我这样做了,应用程序就可以正常运行了。
所以,我最近将我的 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
扩展。
一旦我这样做了,应用程序就可以正常运行了。