swift - 是否可以获取 macOS 商业系统名称?

标签 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"
    }
}

但如果是新更新,此代码将返回“未知”

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

最佳答案

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 } 

关于swift - 是否可以获取 macOS 商业系统名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48545059/

相关文章:

macos - MacFUSE似乎未安装

ios - cocoa : "perspective transform"可用吗?

macos - 为什么我要使用 NSObjectController?

Swift UIFont IBInspectable - 这可能吗?

ios - 使用AVAudioPlayer播放音乐吗?

swift - 使用 NSTreeController 过滤 NSOutlineView 的子级

swift - 无法在 Swift 中实现这种设计模式?

swift - 2D 运动矢量 - 计算对象在给定时间的位置

objective-c - Xcode4 "Build Finished"HUD

objective-c - 在 mac 平台上,如何以编程方式确定用户何时通过 SSH session 登录?