我正在尝试在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 }