我正在研究應該區分MacBook和Mac桌面(iMac/Mac Pro)的Mac應用程序。如何以編程方式區分MacBook和Mac桌面?
我想我可以用型號完成它。那我怎樣才能得到型號?哪個字母表示它是筆記本電腦或臺式機?或者還有其他更簡單或更好的方法嗎?
我正在研究應該區分MacBook和Mac桌面(iMac/Mac Pro)的Mac應用程序。如何以編程方式區分MacBook和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
。
好的。我添加了一個使用Objective-C代碼中的命令的答案。 – Cezar
我沒有答案,但可能會幫助你研究答案的一個應用程序是[MacTracker](http://mactracker.ca/) – kojiro