可能重複:
Determine device (iPhone, iPod Touch) with iPhone SDK
iPad 2 detection如何識別在運行時單獨的iPad 1和iPad 2
請指導我如何在真實運行時檢測的iPad和iPad 2設備..由於性能問題,我想將不同的圖像加載到兩個手機。
在此先感謝
可能重複:
Determine device (iPhone, iPod Touch) with iPhone SDK
iPad 2 detection如何識別在運行時單獨的iPad 1和iPad 2
請指導我如何在真實運行時檢測的iPad和iPad 2設備..由於性能問題,我想將不同的圖像加載到兩個手機。
在此先感謝
- (NSString *)machine {
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 encoding:NSUTF8StringEncoding];
free(machine);
return platform;
}
最簡單,最簡單的辦法是檢查對於攝像機,如在iPad 2 detection中所述:
BOOL isIPad2 = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad &&
[UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]);
或甚至更簡單: BOOL isiPad2 = [[self platform] isEqualToString:@"iPad2,1"];
請記住,該字符串也可以是iPad2,2
和iPad2,3
。
嗨Emil,謝謝。 – user1088267
感謝Niko ..它工作:),但某處我讀IPAD 2有時你可以得到iPad2,1或iPad2,2或iPad2,3(取決於運營商)。任何想法什麼樣的不同的字符串,我需要檢查iPad和iPad 2 – user1088267
如果是這樣,你可以檢查iPad2,x字符串做這個:NSRange range = [theMachineString rangeOfString:@「iPad2」options:(NSAnchoredSearch | NSCaseInsensitiveSearch ]]; if(range.length> 0){NSLog(@「Im a an iPad2」);} – Niko