iOS中如何實現檢測蘋果設備的類型 – iPhone手機開發技術文章 iPhone軟體開發教學課程

蘋果的每個產品都有幾個類型,從iphone到ipod、ipad,而每個產品又有幾個類型,從iphone2G到iphone5,從iPod touch1到iPod touch5,從ipad1到ipad4,隻有你想不到的,沒有人傢做不到的。

 

但是在做ios開發中如何檢測這些類型呢?下邊的方法就是CSDN問答中給出的方法,原問題見:https://ask.csdn.net/questions/997

 

[plain]

– (NSString *) platformString{  

    // Gets a string with the device model  6

    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);   

    if ([platform isEqualToString:@"iPhone1,1"])    return @"iPhone 2G";  

    if ([platform isEqualToString:@"iPhone1,2"])    return @"iPhone 3G";  

    if ([platform isEqualToString:@"iPhone2,1"])    return @"iPhone 3GS";  

    if ([platform isEqualToString:@"iPhone3,1"])    return @"iPhone 4";  

    if ([platform isEqualToString:@"iPhone3,2"])    return @"iPhone 4";  

    if ([platform isEqualToString:@"iPhone3,3"])    return @"iPhone 4 (CDMA)";      

    if ([platform isEqualToString:@"iPhone4,1"])    return @"iPhone 4S";  

    if ([platform isEqualToString:@"iPhone5,1"])    return @"iPhone 5";  

    if ([platform isEqualToString:@"iPhone5,2"])    return @"iPhone 5 (GSM+CDMA)";  

  

    if ([platform isEqualToString:@"iPod1,1"])      return @"iPod Touch (1 Gen)";  

    if ([platform isEqualToString:@"iPod2,1"])      return @"iPod Touch (2 Gen)";  

    if ([platform isEqualToString:@"iPod3,1"])      return @"iPod Touch (3 Gen)";  

    if ([platform isEqualToString:@"iPod4,1"])      return @"iPod Touch (4 Gen)";  

    if ([platform isEqualToString:@"iPod5,1"])      return @"iPod Touch (5 Gen)";  

  

    if ([platform isEqualToString:@"iPad1,1"])      return @"iPad";  

    if ([platform isEqualToString:@"iPad1,2"])      return @"iPad 3G";  

    if ([platform isEqualToString:@"iPad2,1"])      return @"iPad 2 (WiFi)";  

    if ([platform isEqualToString:@"iPad2,2"])      return @"iPad 2";  

    if ([platform isEqualToString:@"iPad2,3"])      return @"iPad 2 (CDMA)";  

    if ([platform isEqualToString:@"iPad2,4"])      return @"iPad 2";  

    if ([platform isEqualToString:@"iPad2,5"])      return @"iPad Mini (WiFi)";  

    if ([platform isEqualToString:@"iPad2,6"])      return @"iPad Mini";  

    if ([platform isEqualToString:@"iPad2,7"])      return @"iPad Mini (GSM+CDMA)";  

    if ([platform isEqualToString:@"iPad3,1"])      return @"iPad 3 (WiFi)";  

    if ([platform isEqualToString:@"iPad3,2"])      return @"iPad 3 (GSM+CDMA)";  

    if ([platform isEqualToString:@"iPad3,3"])      return @"iPad 3";  

    if ([platform isEqualToString:@"iPad3,4"])      return @"iPad 4 (WiFi)";  

    if ([platform isEqualToString:@"iPad3,5"])      return @"iPad 4";  

    if ([platform isEqualToString:@"iPad3,6"])      return @"iPad 4 (GSM+CDMA)";  

  

    if ([platform isEqualToString:@"i386"])         return @"Simulator";  

    if ([platform isEqualToString:@"x86_64"])       return @"Simulator";  

    return platform;  

}  

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *