編程時(3.2版本)無法識別設備型號(iphone,ipad,ipod touch,iphpne模擬器)。 Alreay是用UIDevice Class和其他方法嘗試過的,但當連接到ipad時無法將模型作爲ipad。每次它都會給ipad以外的其他型號。所以任何人都可以幫助我。謝謝。如何在3.2版本中編程時識別iphone,ipad,ipod touch,iphpne模擬器?
0
A
回答
1
我用這個代碼和它的作品真的很好:
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine];
free(machine);
return platform;
這來自arstechnica.com。
0
一般的做法是避免嘗試自己猜測設備模型。在大多數情況下(但你沒有描述你最初的需求),框架爲你提供了API的硬件功能,你並不需要知道你現在使用的是哪種模型。
舉例來說,如果你想知道,如果攝像頭可用,你不會在你的代碼檢查 if (model==iphone3G || model==iPhone3Gs)
你只是要問類似[UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]
是公共API的一部分。
0
我想你可能想檢查[UIDevice userInterfaceIdiom]。在iPad或iPad上,這將返回UIUserInterfaceIdiomPad。在其他設備或SIM卡上,它將返回UIUserInterfaceIdiomPhone。
顯示你如何獲得模型的一段代碼可能會有所幫助。此外,如果你真的在模擬器的物理iPad上運行。 – 2010-04-07 13:13:55
你使用過'[UIDevice model]'嗎? – notnoop 2010-04-07 13:17:36