Итак, я недавно обновил свою MacOS до Catalina и установил XCode 11.5. До этого у меня была High Sierra и максимальная версия XCode, которую поддерживает High Sierra (не помню номер версии).
Итак, приложение, которое я построил на этой комбинации, отлично работало в 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 и работает нормально. В чем может быть проблема?