macOS 開發(fā)獲取機型

只獲取了2017后的機型

- (NSString *)getDeviceModel {
    NSString *result = @"";
    size_t size = 0;
    sysctlbyname("hw.model", NULL, &size, NULL, 0);
    if (size != 0) {
        char machine[size];
        sysctlbyname("hw.model", machine, &size, NULL, 0);
        result = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
    }

    return macDeviceModel(result);
}


- (NSString *)macDeviceModel:(NSString *)model {
    NSString *deviceModel = model;
    
    if ([deviceModel isEqualToString:@"Macmini9,1"]) {
        return @"Mac mini (M1, 2020)";
    } else if ([deviceModel isEqualToString:@"iMac21,1"] || [deviceModel isEqualToString:@"iMac21,2"]) {
        return @"iMac (24-inch, M1, 2021)";
    } else if ([deviceModel isEqualToString:@"Mac13,1"] || [deviceModel isEqualToString:@"Mac13,2"]) {
        return @"Mac Studio";
    }
    else if ([deviceModel isEqualToString:@"Mac14,3"] || [deviceModel isEqualToString:@"Mac14,12"]) {
        return @"Mac mini (2023)";
    }
  else if ([deviceModel isEqualToString:@"Mac16,10"] || [deviceModel isEqualToString:@"Mac16,11"]) {
        return @"Mac mini (2024)";
    }
    else if ([deviceModel isEqualToString:@"Mac14,8"]) {
        return @"Mac Pro (2023)";
    }
    else if ([deviceModel isEqualToString:@"Mac14,13"] || [deviceModel isEqualToString:@"Mac14,14"]) {
        return @"Mac Studio (2023)";
    }
else if ([deviceModel isEqualToString:@"Mac16,9"] || [deviceModel isEqualToString:@"Mac15,14"]) {
        return @"Mac Studio (2025)";
    }
    else if ([deviceModel isEqualToString:@"Mac15,4"] || [deviceModel isEqualToString:@"Mac15,5"]) {
        return @"iMac (24-inch, 2023)";
    } else if ([deviceModel isEqualToString:@"Mac16,2"] || [deviceModel isEqualToString:@"Mac16,3"]) {
        return @"iMac (24-inch, 2024)";
    } 
    else if ([deviceModel isEqualToString:@"MacBookAir10,1"]) {
        return @"MacBook Air (M1, 2020)";
    }
    else if ([deviceModel isEqualToString:@"MacBookPro17,1"]) {
        return @"MacBook Pro (13-inch, M1, 2020)";
    }
    else if ([deviceModel isEqualToString:@"MacBookPro18,3"] || [deviceModel isEqualToString:@"MacBookPro18,4"]) {
        return @"MacBook Pro (14-inch, 2021)";
    }
    else if ([deviceModel isEqualToString:@"MacBookPro18,1"] || [deviceModel isEqualToString:@"MacBookPro18,2"]) {
        return @"MacBook Pro (16-inch, 2021)";
    }
    else if ([deviceModel isEqualToString:@"Mac14,2"]) {
        return @"MacBook Air (M2, 2022)";
    }
    else if ([deviceModel isEqualToString:@"Mac14,7"]) {
        return @"MacBook Pro (13-inch, M2, 2022)";
    }
    else if ([deviceModel isEqualToString:@"Mac14,5"] || [deviceModel isEqualToString:@"Mac14,9"]) {
        return @"MacBook Pro (14-inch, 2023)";
    }
    else if ([deviceModel isEqualToString:@"Mac14,6"] || [deviceModel isEqualToString:@"Mac14,10"]) {
        return @"MacBook Pro (16-inch, 2023)";
    }
    else if ([deviceModel isEqualToString:@"Mac14,8"]) {
        return @"MacBook Air (15-inch, M2, 2023)";
    }
    else if ([deviceModel isEqualToString:@"Mac15,3"] || [deviceModel isEqualToString:@"Mac15,6"] || [deviceModel isEqualToString:@"Mac15,8"] || [deviceModel isEqualToString:@"Mac15,10"]) {
        return @"MacBook Pro (14-inch, Nov 2023)";
    }
    else if ([deviceModel isEqualToString:@"Mac15,7"] || [deviceModel isEqualToString:@"Mac15,9"] || [deviceModel isEqualToString:@"Mac15,11"]) {
        return @"MacBook Pro (16-inch, Nov 2023)";
    }
    else if ([deviceModel isEqualToString:@"Mac15,12"]) {
        return @"MacBook Air (13-inch, M3, 2024)";
    }
    else if ([deviceModel isEqualToString:@"Mac15,13"]) {
        return @"MacBook Air (15-inch, M3, 2024)";
    }
    else if ([deviceModel isEqualToString:@"Mac16,12"]) {
        return @"MacBook Air (13-inch, M4, 2025)";
    }
    else if ([deviceModel isEqualToString:@"Mac16,13"]) {
        return @"MacBook Air (15-inch, M4, 2025)";
    }
    else if ([deviceModel isEqualToString:@"iMac18,1"]) {
        return @"iMac (Retina 4K, 21.5-inch, 2017)";
    }
    else if ([deviceModel isEqualToString:@"iMac18,2"]) {
        return @"iMac (Retina 4K, 21.5-inch, 2017)";
    }
    else if ([deviceModel isEqualToString:@"iMac18,3"]) {
        return @"iMac (Retina 5K, 27-inch, 2017)";
    }
    else if ([deviceModel isEqualToString:@"iMacPro1,1"]) {
        return @"iMac Pro (2017)";
    }
    else if ([deviceModel isEqualToString:@"iMac19,1"]) {
        return @"iMac (Retina 5K, 27-inch, 2019)";
    }
    else if ([deviceModel isEqualToString:@"iMac19,2"]) {
        return @"iMac (Retina 4K, 21.5-inch, 2019)";
    }
    else if ([deviceModel isEqualToString:@"iMac20,1"] || [deviceModel isEqualToString:@"iMac20,2"]) {
        return @"iMac (Retina 5K, 27-inch, 2020)";
    }
    else if ([deviceModel isEqualToString:@"MacBookPro14,1"] || [deviceModel isEqualToString:@"MacBookPro14,2"] || [deviceModel isEqualToString:@"MacBookPro14,3"]) {
        return @"MacBook Pro 2017";
    }
    else if ([deviceModel isEqualToString:@"MacBookPro15,1"] || [deviceModel isEqualToString:@"MacBookPro15,2"] || [deviceModel isEqualToString:@"MacBookPro15,3"]) {
        return @"MacBook Pro 2018";
    }
    else if ([deviceModel isEqualToString:@"MacBookPro15,4"]) {
        return @"MacBook Pro 2019 (Butterfly Keyboard)";
    }
    else if ([deviceModel isEqualToString:@"MacBookPro16,1"] || [deviceModel isEqualToString:@"MacBookPro16,4"]) {
        return @"MacBook Pro 2019 (Magic Keyboard)";
    }
    else if ([deviceModel isEqualToString:@"MacBookPro16,2"] || [deviceModel isEqualToString:@"MacBookPro16,3"]) {
        return @"MacBook Pro 2020";
    }
else if ([deviceModel isEqualToString:@"Mac16,1"] || [deviceModel isEqualToString:@"Mac16,6"] || [deviceModel isEqualToString:@"Mac16,8"]) {
        return @"MacBook Pro (14-inch, Nov 2024)";
    }
    else if ([deviceModel isEqualToString:@"Mac16,5"] || [deviceModel isEqualToString:@"Mac16,7"]) {
        return @"MacBook Pro (16-inch, Nov 2024)";
    }
    else if ([deviceModel isEqualToString:@"MacBookAir7,2"]) {
        return @"MacBook Air 2017";
    }
    else if ([deviceModel isEqualToString:@"MacBookAir8,1"]) {
        return @"MacBook Air 2018";
    }
    else if ([deviceModel isEqualToString:@"MacBookAir8,2"]) {
        return @"MacBook Air 2019";
    }
    else if ([deviceModel isEqualToString:@"MacBookAir9,1"]) {
        return @"MacBook Air 2020";
    }
    else if ([deviceModel isEqualToString:@"Macmini7,1"]) {
        return @"Mac mini (Late 2014)";
    }
    else if ([deviceModel isEqualToString:@"Macmini8,1"]) {
        return @"Mac mini 2018";
    }
    else if ([deviceModel isEqualToString:@"MacPro7,1"]) {
        return @"Mac Pro 2019";
    }
    return @"Mac";
}
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容