获得ios设备信息

ios设备的几个信息:


代码:

std::string Utilies::getDeviceType()
{
    std::string type = [[[UIDevice currentDevice] model] UTF8String];
    CCLog("model---------->%s",type.c_str());
    std::string version = [[[UIDevice currentDevice] systemVersion] UTF8String];
    CCLog("versi---------->%s",version.c_str());
    std::string sname = [[[UIDevice currentDevice] systemName] UTF8String];
    CCLog("sname---------->%s",sname.c_str());
    std::string model = [[[UIDevice currentDevice] localizedModel] UTF8String];
    CCLog("local---------->%s",model.c_str());
    std::string name = [[[UIDevice currentDevice] name] UTF8String];
    CCLog("namee---------->%s",name.c_str());
    std::string platform = getDevicePlatform();
    CCLog("platf---------->%s",platform.c_str());
    std::string platforminfo = getDevicePlatformInfo();
    CCLog("plati---------->%s",platforminfo.c_str());
    
    
    return type;
}
#include <sys/sysctl.h>

std::string Utilies::getDevicePlatform()
{
    size_t size;
    int nR = sysctlbyname("hw.machine", NULL, &size, NULL, 0);
    char *machine = (char *)malloc(size);
    nR = sysctlbyname("hw.machine", machine, &size, NULL, 0);
    NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
    free(machine);
    return [platform UTF8String];
}

#pragma mark 获取终端信息
std::string Utilies::getDevicePlatformInfo()
{
    size_t size;
    int nR = sysctlbyname("hw.machine", NULL, &size, NULL, 0);
    char *machine = (char *)malloc(size);
    nR = sysctlbyname("hw.machine", machine, &size, NULL, 0);
    NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
    free(machine);
    
    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 ([platform isEqualToString:@"iPhone3,3"])    return "iPhone 4 CDMA版";
    if ([platform isEqualToString:@"iPhone4,1"])    return "iPhone 4S";
    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 "iPad2 WIFI版";
    if ([platform isEqualToString:@"iPad2,2"])      return "iPad2 GSM/3G版";
    if ([platform isEqualToString:@"iPad2,3"])      return "iPad2 CDMA/3G版";
    if ([platform isEqualToString:@"i386"] || [platform isEqualToString:@"x86_64"])
        return "iPhone Simulator";
    return [platform UTF8String];
}


模拟器的结果:

2013-05-27 11:22:16.390 Name[4450:c07] model---------->iPhone Simulator
2013-05-27 11:22:16.390 Name[4450:c07] versi---------->5.0
2013-05-27 11:22:16.390 Name[4450:c07] sname---------->iPhone OS
2013-05-27 11:22:16.391 Name[4450:c07] local---------->iPhone Simulator
2013-05-27 11:22:16.391 Name[4450:c07] namee---------->iPhone Simulator
2013-05-27 11:22:16.392 Name[4450:c07] platf---------->x86_64
2013-05-27 11:22:16.392 Name[4450:c07] plati---------->iPhone Simulator


4S上的结果:

2013-05-27 11:19:16.446 Name[80109:907] model---------->iPhone
2013-05-27 11:19:16.448 Name[80109:907] versi---------->6.1.3
2013-05-27 11:19:16.449 Name[80109:907] sname---------->iPhone OS
2013-05-27 11:19:16.450 Name[80109:907] local---------->iPhone
2013-05-27 11:19:16.453 Name[80109:907] namee---------->Âà©ÂÜõ ÁöÑ iPhone
2013-05-27 11:19:16.454 Name[80109:907] platf---------->iPhone4,1
2013-05-27 11:19:16.456 Name[80109:907] plati---------->iPhone 4S

    
    NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
    
    CFShow(infoDictionary);
    
    // app名称
    
    NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"];
    
    // app版本
    
    NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"];
    
    // app build版本
    
    NSString *app_build = [infoDictionary objectForKey:@"CFBundleVersion"];

(lldb) p app_Version

(NSString *) $2 = 0x1d591670 @"1.10.0"

(lldb) p app_Name

(NSString *) $3 = 0x1d591640 @"AgeOfxxxx"

(lldb) p app_build

(NSString *) $4 = 0x1d591670 @"1.10.0"

(lldb) p infoDictionary

(NSDictionary *) $5 = 0x1d591990 39 key/value pairs

(lldb) 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值