Основы Swift / 4.8. Проверка доступности API


Видео


Проверка доступности API
Swift имеет встроенную поддержку для проверки доступности API, что позволяет Вам быть уверенными, что Вы не воспользуетесь по ошибке API, которое не доступно на данной целевой платформе.

Компилятор использует информацию о доступности в SDK, чтобы проверить, что все API, используемые в Вашем коде доступны на целевой платформе, определяемой Вашим проектом. Swift выдаст ошибку времени компиляции, если Вы попытаетесь воспользоваться недоступным API.

Вы можете использовать условие доступности в условных инструкциях для условного выполнения блока кода, основываясь на том, какие API, которые Вы хотите использовать, доступны в рантайме. Компилятор использует информацию из условия доступности, когда он верифицирует, какие API в этом блоке кода доступны.
@{4.9\1}
                    
if #available(iOS 10, macOS 10.12, *) {
    // Использовать iOS 10 API на iOS и macOS 10.12 APIs на macOS
} else {
    // Использование старых версий API
}
                    
                
Условие доступности выше определяет, что в iOS, тело if выполняется только в iOS 10 и выше; в macOS, только в macOS 10.12 и выше. Последний аргумент, *, необходим и определяет, что на любой другой платформе, тело if выполняется на минимальной целевой платформе.

В своей общей форме условие доступности принимает набор имён платформ и версий. Вы можете использовать имена платформ, такие как: iOS, macOS, watchOS, tvOS. В дополнение к спецификации мажорных номеров версий наподобие iOS 8 или macOS 10.10, Вы можете указывать минорные версии наподобие iOS 8.3 и macOS 10.10.3.