2011-12-08 14 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:
+0

ありがとうNiko ..それは動作しますが、どこかでiPad 2、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

最も簡単かつ最短の方法は、チェックすることで、 "iPad2,1" @前記のようにカメラについては、iPad 2 detection

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

さらに簡単には: BOOL isiPad2 = [[self platform] isEqualToString:@"iPad2,1"]; 文字列はiPad2,2iPad2,3でもよいことに注意してください。

+0

ちょっとエミール、ありがとう、トン.... – user1088267

関連する問題