因此,我最近将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上并且可以正常运行。这里有什么问题?
答案 0 :(得分:0)
好吧,我不确定为什么,但是显然在某个时候,Strideable有了更新,所以我唯一要做的就是删除我的Strideable
扩展名。
一旦我这样做,该应用程序将正常运行。