41 votes

Meilleur moyen de vérifier iOS 7 ou une version antérieure?

Je dois reconfigurer une interface utilisateur basée sur la version iOS contre laquelle je suis exécuté. Il me faut donc un bon moyen de vérifier la version iOS. Pour le moment je fais ceci:

 if ([[[UIDevice currentDevice] systemVersion] isEqualToString: @"7.0"]) {
    //do stuff
}
 

Je préférerais ne pas coder en dur ces comparaisons de chaînes et prendre des décisions en fonction de cela. Y a-t-il de meilleures façons de le faire?

126voto

Segev Points 6481

Je les garde toujours dans mon fichier Constants.h:

 #define IS_IPHONE5 (([[UIScreen mainScreen] bounds].size.height-568)?NO:YES) 
#define IS_OS_5_OR_LATER    ([[[UIDevice currentDevice] systemVersion] floatValue] >= 5.0)
#define IS_OS_6_OR_LATER    ([[[UIDevice currentDevice] systemVersion] floatValue] >= 6.0)
#define IS_OS_7_OR_LATER    ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)
#define IS_OS_8_OR_LATER    ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
 

118voto

Ar Ma Points 1069
if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_6_1) {

    // do stuff for iOS 7 and newer

}
else {

    // do stuff for older versions than iOS 7
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X