2013-07-08 37 views
1

我正在研究應該區分MacBook和Mac桌面(iMac/Mac Pro)的Mac應用程序。如何以編程方式區分MacBook和Mac桌面?

我想我可以用型號完成它。那我怎樣才能得到型號?哪個字母表示它是筆記本電腦或臺式機?或者還有其他更簡單或更好的方法嗎?

+0

我沒有答案,但可能會幫助你研究答案的一個應用程序是[MacTracker](http://mactracker.ca/) – kojiro

回答

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相同。

5

您尚未指定語言,但是從終端sysctl hw.model將返回當前Mac的標識符。例如,在我的電腦上,它返回MacBookPro5,5

+0

好的。我添加了一個使用Objective-C代碼中的命令的答案。 – Cezar

相關問題