NSFoundationVersionNumber и версии iOS
Хорошо, мои вопросы действительно просты, я думаю.
Я использую NSFoundationVersionNumber для проверки версии моего приложения и сделаю его совместимым с iOS6 и iOS7.
if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1 ){
//Here goes the code for iOS 7
}
else if (NSFoundationVersionNumber == NSFoundationVersionNumber_iOS_6_1){
//Here goes the code for iOS 6.1
}
Ну, насколько я знаю, Apple выпустила версии 6.1.X.Так же, используя второй оператор else-if, версии 6.1.X исключены из списка совместимых версий, которые я делаю? Если да, это ответ, тогда как я могу определить, если устройство работает в версиях 6.1.X?
Большое спасибо:)
Ответы
Ответ 1
Когда NSFoundationVersionNumber == NSFoundationVersionNumber_iOS_6_1
истинно, тогда устройство имеет 6.1.X.
Если NSFoundationVersionNumber == NSFoundationVersionNumber_iOS_6_0
истинно, устройство имеет 6.0.X.
Когда NSFoundationVersionNumber < NSFoundationVersionNumber_iOS_6_0
истинно, устройство имеет 5.1.X и ниже.
Когда NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1
истинно, устройство имеет 7.0 и более.
Ответ 2
Apple забыла предоставить NSFoundationVersionNumber константы для iOS 7, 10.8 и 10.9, но вы можете получить номера NSLogging вне вашего NSFoundationVersionNumer (который дает вам NSFoundationVersionNumber вашей текущей ОС)
Ответ 3
В iOS 8 теперь Apple предоставляет структуру NSOperatingSystemVersion
в NSProcessInfo
Вы можете использовать его с помощью isOperatingSystemAtLeastVersion:
или просто проверить 3 поля, чтобы точно узнать, какая версия системы работает с вашим приложением.