我正在开发一个应该区分 MacBook 和 Mac 桌面(iMac/Mac Pro)的 Mac 应用程序。
我想我可以用型号完成它。那我怎么才能得到型号呢?哪个字母表示它是笔记本电脑还是台式机?或者还有其他更简单或更好的方法吗?
我正在开发一个应该区分 MacBook 和 Mac 桌面(iMac/Mac Pro)的 Mac 应用程序。
我想我可以用型号完成它。那我怎么才能得到型号呢?哪个字母表示它是笔记本电脑还是台式机?或者还有其他更简单或更好的方法吗?
你可以使用这个小程序。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
在终端上输入相同的输出。
您尚未指定语言,但从终端sysctl hw.model
将返回当前 Mac 的标识符。例如,在我的电脑上它返回MacBookPro5,5
.