2011年4月12日 星期二

[轉] 取得裝置名稱的方法

from : http://www.furnace.idv.tw


在很多時候我們會需要辨識不同的裝置來採取不同的對應措施,這裡指的「裝置」並非 iOS 版本,而是只該機器本身,至於我們要如何辨識這些裝置的 Platform Name,請看以下程式碼說明。
首先先匯入兩個與 System 有關的標頭檔。
#import #import 接下來在對應的按鈕事件中鍵入以下程式碼,來取得初步的機器版本。

size_t size; 
sysctlbyname("hw.machine", NULL, &size, NULL, 0); 
char *machine = (char *)malloc(size); 
sysctlbyname("hw.machine", machine, &size, NULL, 0); 
NSString *platform = [NSString stringWithCString:machine encoding:NSASCIIStringEncoding]; 
//別忘記釋放 free(machine); 
//將結果顯示於畫面 [self showMyDevicePlatform:platform];

最後我們將呼叫一個自行定義的函式,用來處理所取得的機器版本並顯示於畫面上,您可能會問為什麼需要這麼麻煩,原因是這裡所取得的「機器版本」和目前「市售的商品名稱」有著很大的出入,以我們目前所收集到的資料可以歸類成下列幾項(2011/2/14)。
機器版本 市售的商品名稱  i386 iOS 模擬器(i386) x86_64 iOS 模擬器(x86_64)  iPhone1,1 iPhone 1G iPhone1,2 iPhone 3G iPhone2,1 iPhone 3Gs iPhone3,1 iPhone 4  iPod1,1 iPod touch 1G iPod2,1 iPod touch 2G iPod3,1 iPod touch iOS 4  iPad1,1 iPad

沒有留言:

張貼留言