2011-12-08 168 views

回答

1
- (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 1:@ 「iPad1,1」
  • 的iPad 2:@ 「iPad2,1」
+0

感謝Niko ..它工作:),但某處我讀IPAD 2有時你可以得到iPad2,1或iPad2,2或iPad2,3(取決於運營商)。任何想法什麼樣的不同的字符串,我需要檢查iPad和iPad 2 – user1088267

+0

如果是這樣,你可以檢查iPad2,x字符串做這個:NSRange range = [theMachineString rangeOfString:@「iPad2」options:(NSAnchoredSearch | NSCaseInsensitiveSearch ]]; if(range.length> 0){NSLog(@「Im a an iPad2」);} – Niko

5

最簡單,最簡單的辦法是檢查對於攝像機,如在iPad 2 detection中所述:

BOOL isIPad2 = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad && 
      [UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]); 

或甚至更簡單: BOOL isiPad2 = [[self platform] isEqualToString:@"iPad2,1"]; 請記住,該字符串也可以是iPad2,2iPad2,3

+0

嗨Emil,謝謝。 – user1088267

相關問題