获取iOS系统版本,谨慎使用[[[UIDevice currentDevice] systemVersion] floatValue]

最近分享了iOS开发中相关的一些宏定义,其中涉及到判断iOS的版本号的宏,有简友评论这个方法不靠谱,建议我找个更好的方法,于是我百度搜了下,并做了个总结:

iOS 最常见的获取系统版本号的方法是:

[[[UIDevice currentDevice] systemVersion] floatValue]

但是,这个floatValue是不靠谱的,这也算是iOS SDK的一个bug吧。看一下上面的函数在8.2系统上的表现。如果代码中有 if( version >= 8.2) 的判断,则该判断会失效!

获取iOS系统版本,谨慎使用[[[UIDevice currentDevice] systemVersion] floatValue]_第1张图片
屏幕快照 2016-09-07 09.33.46.png

这时如果使用字符串对比版本号,则不会出问题


获取iOS系统版本,谨慎使用[[[UIDevice currentDevice] systemVersion] floatValue]_第2张图片
屏幕快照 2016-09-07 09.34.06.png

但是如果你对版本判断要求不是很严格的话,如果只是判断是否是iOS8,7的话,这个方法还是很好用的

转自:http://www.bkjia.com/Androidjc/1013445.html

有问题欢迎指正!!!

你可能感兴趣的:(获取iOS系统版本,谨慎使用[[[UIDevice currentDevice] systemVersion] floatValue])