2012-10-12 180 views
6

Duplicar posibles:
How can we programmatically detect which iOS version is device running on?¿Cómo verifico si un dispositivo está ejecutando iOS 6?

¿Cómo puedo comprobar si un dispositivo está ejecutando iOS 6? Tengo que comprobar para ver si el sistema operativo es iOS 6 con el fin de cambiar las URL de vídeo de YouTube a causa de las notas de la versión de Apple sobre cómo manejarlos en iOS6

A partir de iOS 6, URL de YouTube incrustados en el formulario de http://www.youtube.com/watch?v=oHg5SJYRHA0 ya no funcionará. Estas URL son para ver el video en el sitio de YouTube, no para incrustar en páginas web. En cambio, el formato que se debe utilizar se describe en https://developers.google.com/youtube/player_parameters.

Estaba pensando en una declaración if else para manejar esto.

gracias por cualquier ayuda

+1

Let me refiero a [esta pregunta y respuesta] (http://stackoverflow.com/questions/7848766/how-can-we-programmatically-detect-which-ios-version-is-device-running-on) ... – James

+0

Compruebe esto: http: // stackoverflow .com/questions/3339722/check-iphone-ios-version – Resh32

+0

tome la macro definida aquí. http://stackoverflow.com/a/8042056/593336 – mayuur

Respuesta

35

Como Antes de comparar los parámetros de flotación debe colocar 6.0 en una variable de tipo float de manera que LHS y RHS deben ser los mismos para comparar:

float currentVersion = 6.0; 

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= currentVersion) 
{ 
    NSLog(@"Running in IOS-6"); 
} 
+1

[[UIDevice currentDevice] systemVersion] es probablemente la forma más ineficiente de verificar los números de versión de iOS. No está claro por qué, pero esta función lleva unos preciosos ciclos de CPU para devolver un número de versión. Use NSFoundationVersionNumber en su lugar. https://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/miscellaneous/Foundation_Constants/Reference/reference.html – Abhinit

0

Trate a continuación

float deviceVersion = [[[UIDevice currentDevice] systemVersion] floatValue]; 
NSLog(@"My Device version is :%f ",deviceVersion); 

espero que va a ayudarle.

+0

Es posible que desee hacer algo como 'if (deviceVersion> = 6.0)' porque tan pronto como 6.1 se despliegue, el código fallará y asumirá que está en 5.x nuevamente. – Shayne

+0

La comprobación de un número de versión explícita casi siempre es incorrecta. Verifique las capacidades en su lugar. – Roger

+0

hey @Shayne tienes razón, pero aquí solo muestro que tampoco soy partidario de arriba, por eso estoy modificando mi respuesta. – Kamarshad

1
NSString *versionString = [[UIDevice currentDevice] systemVersion]; // iOS version as string 
int versionStringInt = [ver intValue]; // iOS version as int 
float versionStringFloat = [ver floatValue]; // iOS version as float 
Cuestiones relacionadas