2

我正在开发一个应该区分 MacBook 和 Mac 桌面(iMac/Mac Pro)的 Mac 应用程序。

我想我可以用型号完成它。那我怎么才能得到型号呢?哪个字母表示它是笔记本电脑还是台式机?或者还有其他更简单或更好的方法吗?

4

2 回答 2

6

你可以使用这个小程序。NSLog输出来测试它。

#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/sysctl.h>

+ (NSString *)machineModel
{
    size_t length = 0;
    sysctlbyname("hw.model", NULL, &length, NULL, 0);      
    if (length) {
        char *m = malloc(length * sizeof(char));
        sysctlbyname("hw.model", m, &length, NULL, 0);
        NSString *model = [NSString stringWithUTF8String:m];
        free(m);
        return model;
    }
    return @"Unknown model";
}

它将提供与sysctl hw.model在终端上输入相同的输出。

于 2013-07-08T03:05:04.567 回答
5

您尚未指定语言,但从终端sysctl hw.model将返回当前 Mac 的标识符。例如,在我的电脑上它返回MacBookPro5,5.

于 2013-07-08T02:54:23.297 回答