Отключить "доступно только на iOS 11.0 или новее" в swift?
Проблема в том, что я хочу проверить решение, которое требует переменной, объявленной в классе. Но если я сделаю это, я должен отметить весь класс как @available(iOS 11.0, *)
что вызывает много изменений во многих других местах.
Так можно ли полностью отключить его в одном месте? Или отключить его временно (просто для тестирования новых функций без существенных изменений и без изменений минимальной версии iOS) в худшем случае?
1 ответ
Лучшее решение, которое я нашел, это использовать свойства:
class SomeClass {
private var _authSession: NSObject!;
@available(iOS 11.0, *)
var authSession: SFAuthenticationSession! {
get {
return _authSession as! SFAuthenticationSession
}
set(val) {
_authSession = val
}
}
}
Это просто пример, так !
может быть заменен на ?
если это необходимо. Короче говоря - iOS запрещает объявлять переменные с @available
но позволяет помечать свойства этим макросом.