Вы можете проверить systemVersion
свойство UIDevice
следующим образом:
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 5.0f) {
// Do something
}
Но лично мне не нравится этот метод, так как мне не нравится разбор строки, возвращенной из systemVersion
, и сравнение выполняется таким образом.
Лучший способ - проверить, существует ли какой-либо класс / метод, который вы хотите использовать. Например:
Если вы хотите использовать TWRequest
из платформы Twitter:
Class twRequestClass = NSClassFromString(@"TWRequest");
if (twRequestClass != nil) {
// The class exists, so we can use it
} else {
// The class doesn't exist
}
Или, если вы хотите использовать startMonitoringForRegion:
из CLLocationManager
, который был введен в iOS 5.0:
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
...
if ([locationManager respondsToSelector:@selector(startMonitoringForRegion:)]) {
// Yep, it responds
} else {
// Nope, doesn't respond
}
В общем, лучше делать подобные проверки, чем смотреть на системную версию.