是否有可能获得macOS商业系统名称?

时间:2018-01-31 14:54:03

标签: swift macos

现在我正在使用这样的代码:

func osVersion() -> String {
    let osVersion = Foundation.ProcessInfo.processInfo.operatingSystemVersion
    let majorVersion = osVersion.majorVersion
    let minorVersion = osVersion.minorVersion

    if majorVersion == 10 && minorVersion == 10 {
        return "Yosemite"
    } else if majorVersion == 10 && minorVersion == 11 {
       return "El Capitan"
    } else if majorVersion == 10 && minorVersion == 12 {
       return "Sierra"
    } else if majorVersion == 10 && minorVersion == 13 {
       return "High Sierra"
    } else {
       return "Unknown"
    }
}

但如果它是新的更新,则此代码将返回"未知"

那么,是否有可能以编程方式获得系统商业名称?

1 个答案:

答案 0 :(得分:1)

Apple从版本10.10弃用了operatingSystemName Api。

在基金会> NSProcessInfo> ProcessInfo

@available(OSX, introduced: 10.0, deprecated: 10.10, message: "-operatingSystemName always returns NSMACHOperatingSystem, use -operatingSystemVersionString instead")

open func operatingSystemName() -> String

其评论中建议的api只返回版本字符串“Version 10.13.1(Build 17B1003)”而不是商业名称

open var operatingSystemVersionString: String { get }