最近分享了iOS开发中相关的一些宏定义,其中涉及到判断iOS的版本号的宏,有简友评论这个方法不靠谱,建议我找个更好的方法,于是我百度搜了下,并做了个总结:
iOS 最常见的获取系统版本号的方法是:
[[[UIDevice currentDevice] systemVersion] floatValue]
但是,这个floatValue是不靠谱的,这也算是iOS SDK的一个bug吧。看一下上面的函数在8.2系统上的表现。如果代码中有 if( version >= 8.2) 的判断,则该判断会失效!
屏幕快照 2016-09-07 09.33.46.png这时如果使用字符串对比版本号,则不会出问题
屏幕快照 2016-09-07 09.34.06.png
但是如果你对版本判断要求不是很严格的话,如果只是判断是否是iOS8,7的话,这个方法还是很好用的
有问题欢迎指正!!!