取得IOS设备型号

#include <sys/types.h>

#include <sys/sysctl.h>


//可通过苹果review
- ( Nsstring *)getDeviceVersion
{
     size_t size;
     sysctlbyname( "hw.machine" NULL ,&size,0);
     char  *machine = ( char *)malloc(size);
     sysctlbyname( "hw.machine" ,machine,0);
     Nsstring  *platform = [ Nsstring  stringWithCString:machine encoding: NSUTF8StringEncoding ];

    //Nsstring *platform = [NsstringstringWithUTF8String:machine];二者等效

     free(machine);
     return  platform;
}
 

- (Nsstring *) platformString{

    Nsstring *platform = [selfgetDeviceVersion];

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

    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 ([platformisEqualToString:@"iPhone3,2"])   return @"Verizon iPhone 4";

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

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

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

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

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

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

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

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

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


    return platform;

}



输出
//@"iPad1,1" 
//@"iPad2,1" 
//@"i386"

逗号后面数字解释:(i386是指模拟器)
1-WiFi版
2-GSM/WCDMA 3G版
3-CDMA版

AppleTV(2G) (AppleTV2,1)
iPad (iPad1,1)
iPad2,1 (iPad2,1)Wifi版
iPad2,2 (iPad2,2)GSM3G版
iPad2,3 (iPad2,3)CDMA3G版
iPhone (iPhone1,1) iPhone3G (iPhone1,2) iPhone3GS (iPhone2,1) iPhone4 (iPhone3,1) iPhone4(vz) (iPhone3,3)iPhone4 CDMA版 iPhone4S (iPhone4,1) iPodTouch(1G) (iPod1,1) iPodTouch(2G) (iPod2,1) iPodTouch(3G) (iPod3,1) iPodTouch(4G) (iPod4,1)

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...