在次之前,补充个内容。UIDevice是无法获得具体的设备型号的。

要获得设备型号,比如(iphone 4s, iphone5)这样的,要通过这样的办法。

1.引入头文件。

#include <sys/types.h>

#include <sys/sysctl.h>

2.获取型号

            //手机型号。 
            size_t size; 
            sysctlbyname("hw.machine", NULL, &size, NULL, 0); 
            char *machine = (char*)malloc(size); 
            sysctlbyname("hw.machine", machine, &size, NULL, 0); 
            NSString *platform = [NSString stringWithCString:machine  
                                  encoding:NSUTF8StringEncoding];


这里得到的platform是个设备型号。  比如iphone5,2.

所以如果想更完美点,可以自己根据字符串判断。

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


一.UIDevice

    //设备相关信息的获取   
    NSString *strName = [[UIDevice currentDevice] name];   
    NSLog(@"设备名称:%@", strName);//e.g. "My iPhone"   
 
    NSString *strId = [[UIDevice currentDevice] uniqueIdentifier];   
    NSLog(@"设备唯一标识:%@", strId);//UUID,5.0后不可用   
       
    NSString *strSysName = [[UIDevice currentDevice] systemName];   
    NSLog(@"系统名称:%@", strSysName);// e.g. @"iOS"   
 
    NSString *strSysVersion = [[UIDevice currentDevice] systemVersion];   
    NSLog(@"系统版本号:%@", strSysVersion);// e.g. @"4.0"   
       
    NSString *strModel = [[UIDevice currentDevice] model];   
    NSLog(@"设备模式:%@", strModel);// e.g. @"iPhone", @"iPod touch"   
       
    NSString *strLocModel = [[UIDevice currentDevice] localizedModel];   
    NSLog(@"本地设备模式:%@", strLocModel);// localized version of model  
    //地方型号(国际化区域名称)   
       
    NSString* phoneModel = [[UIDevice currentDevice] model];   
    NSLog(@"手机型号: %@",phoneModel );   //手机型号


发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

iOS计算器的代码实现详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。