Swift检测iOS系统版本方法汇总

方法1:

推荐的方法,简单高效。

if #available(iOS 9.0, *) {

    //高于 iOS 9.0

} else {

    //低于 iOS 9.0

}


方法2:

判断当前iOS系统版本,是否高于指定的版本号。

if(NSProcessInfo.processInfo().isOperatingSystemAtLeastVersion(NSOperatingSystemVersion(majorVersion: 9, minorVersion: 0, patchVersion: 0))) {

    //高于 iOS 9.0

} else {

    //低于 iOS 9.0

}


方法3:

浮点数比较版本号,效率高。

在Xcode7中,目前缺少iOS9的常量,不过在Xcode8中已经补上了。

if (NSFoundationVersionNumber >= NSFoundationVersionNumber_iOS_8_0) {

    //版本号>=8.0

} else {

    //版本号<8.0

}



方法4:

直接返回当前版本号的字符串

UIDevice.currentDevice().systemVersion


为什么在 Swift 中不建议使用方法4的 systemVersion?

因为 UIDevice 在 macOS 中不存在,不能在所有平台上使用同样的代码路径。


Tips:

如果是做 macOS 开发的话,也可以使用 NSAppKitVersionNumber ,它通常是更新到最新的。

你可能感兴趣的:(Swift检测iOS系统版本方法汇总)