После обновления моего XCode я получаю ошибку Strideable - PullRequest
1 голос
/ 12 июля 2020

Итак, я недавно обновил свою 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 и работает нормально. В чем может быть проблема?

1 Ответ

0 голосов
/ 12 июля 2020

Хорошо, я не уверен, почему, но, видимо, в какой-то момент появилось обновление для Strideable, поэтому единственное, что мне нужно было сделать, это удалить мое расширение Strideable.

Как только я это сделал, приложение работало без проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...