方法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 ,它通常是更新到最新的。