В Swift 2.0 Apple добавила проверку доступности с использованием гораздо более удобного синтаксиса (подробнее здесь ). Теперь вы можете проверить версию ОС с помощью более чистого синтаксиса:
if #available(iOS 9, *) {
// Then we are on iOS 9
} else {
// iOS 8 or earlier
}
Это предпочтительная проверка respondsToSelector
и т. Д. ( Что нового в Swift ). Теперь компилятор всегда предупреждает вас, если вы не охраняете свой код должным образом.
Новое в iOS 8 - NSProcessInfo
, позволяющее улучшить семантическое управление версиями проверки.
Для минимальных целей развертывания iOS 8.0 или выше используйте
NSProcessInfo
operatingSystemVersion
илиisOperatingSystemAtLeastVersion
.Это даст следующее:
let minimumVersion = NSOperatingSystemVersion(majorVersion: 8, minorVersion: 1, patchVersion: 2) if NSProcessInfo().isOperatingSystemAtLeastVersion(minimumVersion) { //current version is >= (8.1.2) } else { //current version is < (8.1.2) }
Развертывание на iOS 7
Для минимальных целей развертывания iOS 7.1 или ниже , используйте сравнение с
NSStringCompareOptions.NumericSearch
наUIDevice systemVersion
.Это даст:
let minimumVersionString = "3.1.3" let versionComparison = UIDevice.currentDevice().systemVersion.compare(minimumVersionString, options: .NumericSearch) switch versionComparison { case .OrderedSame, .OrderedDescending: //current version is >= (3.1.3) break case .OrderedAscending: //current version is < (3.1.3) fallthrough default: break; }
Подробнее читается в NSHipster .