我正在尝试在 Swift 中检查系统信息。我发现,它可以通过代码来实现:
var sysData:CMutablePointer<utsname> = nil let retVal:CInt = uname(sysData)
这段代码有两个问题:
对于 iOS,请尝试:
var systemVersion = UIDevice.current.systemVersion
对于 OS X,请尝试:
var systemVersion = NSProcessInfo.processInfo().operatingSystemVersion
如果您只想检查用户是否至少在运行特定版本,您还可以使用以下适用于 iOS 和 OS X 的 Swift 2 功能:
if #available(iOS 9.0, *) { // use the feature only available in iOS 9 // for ex. UIStackView } else { // or use some work around }
但不建议检查操作系统版本。 最好检查您要使用的功能是否在设备上可用,而不是比较版本号。 对于 iOS,如上所述,您应该检查它是否响应选择器;例如。:
if (self.respondsToSelector(Selector("showViewController"))) { self.showViewController(vc, sender: self) } else { // some work around }