Запуск Xcode 9 в Objective-C:
if (@available(iOS 11, *)) {
// iOS 11 (or newer) ObjC code
} else {
// iOS 10 or older code
}
Запуск Xcode 7 в Swift:
if #available(iOS 11, *) {
// iOS 11 (or newer) Swift code
} else {
// iOS 10 or older code
}
Для версии вы можете указать MAJOR, MINOR или PATCH (см. http://semver.org/ для определений). Примеры:
iOS 11
и iOS 11.0
- одна и та же минимальная версия iOS 10
, iOS 10.3
, iOS 10.3.1
- разные минимальные версии Вы можете вводить значения для любой из этих систем:
iOS
, macOS
, watchOS
, tvOS
Пример реального случая, взятый из одного из моих модулей :
if #available(iOS 10.0, tvOS 10.0, *) {
// iOS 10+ and tvOS 10+ Swift code
} else {
// iOS 9 and tvOS 9 older code
}