检测 macOS 版本是否为 Beta 版本

问题描述 投票:0回答:1

我知道检查操作系统版本的各种方法,例如

[[NSProcessInfo processInfo] operatingSystemVersion]
Gestalt
NSAppKitVersionNumber

但是这些方法并不能告诉我特定操作系统版本是测试版还是稳定版本。

有没有一种可靠的方法来检测当前操作系统版本是否是测试版,而无需硬编码版本号?

我正在寻找一种方法来检测此问题,是为了通知我的应用程序的用户在运行 macOS beta 时存在潜在的不兼容性。

macos cocoa foundation appkit
1个回答
0
投票

macOS beta 内部版本号以字母字符结尾。

  • 非测试版示例:Ventura 13.5.1,Build 22G90
  • Beta 示例:Ventura 13.4.1 (c),内部版本 22F770820d
  • 测试版示例:Sonoma 14.0,内部版本 23A5312d
    #!/bin/sh

    version=$(/usr/bin/sw_vers -buildVersion | /usr/bin/sed -e 's/\(^.*\)\(.$\)/\2/')
    
    if [[ "${version}" =~ [0-9] ]]; then
        echo "Not Beta"
    else
        echo "Beta"
    fi
    
    exit
© www.soinside.com 2019 - 2024. All rights reserved.