获取手机设备型号、系统版本、手机型号等信息

来源:互联网 发布:网络售前工程师面试题 编辑:程序博客网 时间:2024/04/28 07:10

// 获取当前App的基本信息字典

NSDictionary *infoDictionary = [[NSBundlemainBundle] infoDictionary];

//app名称

NSString *app_Name = [infoDictionaryobjectForKey:@"CFBundleDisplayName"];

// app版本

NSString *app_Version = [infoDictionaryobjectForKey:@"CFBundleShortVersionString"];

// app build版本

NSString *app_build = [infoDictionaryobjectForKey:@"CFBundleVersion"];

//手机序列号   

NSString* identifierNumber = [[UIDevice currentDevice] uniqueIdentifier];

//手机别名:用户定义的名称 (张三的iPhone)

NSString* userPhoneName = [[UIDevicecurrentDevice] name];

//设备名称  (iOS)

NSString* deviceName = [[UIDevicecurrentDevice] systemName];

//手机系统版本  (10.2.1)

NSString* phoneVersion = [[UIDevicecurrentDevice] systemVersion];

//手机型号  (iPhone)

NSString* phoneModel = [[UIDevicecurrentDevice] model];

//地方型号 (国际化区域名称)

NSString* localPhoneModel = [[UIDevicecurrentDevice] localizedModel];

上面提到的是获取本机的基本信息和APP信息,有的同学会说,这根本不够用啊,想微博或者QQ发状态的时候是可以直接获取到当前手机精确型号的!不知要着急,往下面看!

// 需要#import <sys/utsname.h>


+ (NSString*)deviceModelName


{

    structutsname systemInfo;

    uname(&systemInfo);

    NSString *deviceModel = [NSStringstringWithCString:systemInfo.machineencoding:NSUTF8StringEncoding];

    //iPhone 系列

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

   

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

    

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

    

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

    

    if ([deviceModelisEqualToString:@"iPhone3,2"])   return @"Verizon iPhone 4";

    

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

    

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

    

    if ([deviceModelisEqualToString:@"iPhone5,2"])   return @"iPhone 5";

    

    if ([deviceModelisEqualToString:@"iPhone5,3"])   return @"iPhone 5C";

    

    if ([deviceModelisEqualToString:@"iPhone5,4"])   return @"iPhone 5C";

    

    if ([deviceModelisEqualToString:@"iPhone6,1"])   return @"iPhone 5S";

    

    if ([deviceModelisEqualToString:@"iPhone6,2"])   return @"iPhone 5S";

    

    if ([deviceModelisEqualToString:@"iPhone7,1"])   return @"iPhone 6 Plus";

    

    if ([deviceModelisEqualToString:@"iPhone7,2"])   return @"iPhone 6";

    

    if ([deviceModelisEqualToString:@"iPhone8,1"])   return @"iPhone 6s";

    

    if ([deviceModelisEqualToString:@"iPhone8,2"])   return @"iPhone 6s Plus";

    

    if ([deviceModelisEqualToString:@"iPhone9,1"])   return @"iPhone 7 (CDMA)";

    

    if ([deviceModelisEqualToString:@"iPhone9,3"])   return @"iPhone 7 (GSM)";

    

    if ([deviceModelisEqualToString:@"iPhone9,2"])   return @"iPhone 7 Plus (CDMA)";

    

    if ([deviceModelisEqualToString:@"iPhone9,4"])   return @"iPhone 7 Plus (GSM)";

 

    //iPod 系列

    

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

    

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

    

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

    

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

    

    if ([deviceModelisEqualToString:@"iPod5,1"])     return @"iPod Touch 5G";

    

    

    

    //iPad 系列

    

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

    

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

    

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

    

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

    

    if ([deviceModelisEqualToString:@"iPad2,4"])     return @"iPad 2 (32nm)";

    

    if ([deviceModelisEqualToString:@"iPad2,5"])     return @"iPad mini (WiFi)";

    

    if ([deviceModelisEqualToString:@"iPad2,6"])     return @"iPad mini (GSM)";

    

    if ([deviceModelisEqualToString:@"iPad2,7"])     return @"iPad mini (CDMA)";

    

    

    

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

    

    if ([deviceModelisEqualToString:@"iPad3,2"])     return @"iPad 3(CDMA)";

    

    if ([deviceModelisEqualToString:@"iPad3,3"])     return @"iPad 3(4G)";

    

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

    

    if ([deviceModelisEqualToString:@"iPad3,5"])     return @"iPad 4 (4G)";

    

    if ([deviceModelisEqualToString:@"iPad3,6"])     return @"iPad 4 (CDMA)";

    

    

    

    if ([deviceModelisEqualToString:@"iPad4,1"])     return @"iPad Air";

    

    if ([deviceModelisEqualToString:@"iPad4,2"])     return @"iPad Air";

    

    if ([deviceModelisEqualToString:@"iPad4,3"])     return @"iPad Air";

    

    if ([deviceModelisEqualToString:@"iPad5,3"])     return @"iPad Air 2";

    

    if ([deviceModelisEqualToString:@"iPad5,4"])     return @"iPad Air 2";

    

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

    

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

    

    

    

    if ([deviceModel isEqualToString:@"iPad4,4"]

        

        ||[deviceModel isEqualToString:@"iPad4,5"]

        

        ||[deviceModel isEqualToString:@"iPad4,6"])     return @"iPad mini 2";

    

    

    

    if ([deviceModel isEqualToString:@"iPad4,7"]

        

        ||[deviceModel isEqualToString:@"iPad4,8"]

        

        ||[deviceModel isEqualToString:@"iPad4,9"])     return @"iPad mini 3";

    

    

    

    return deviceModel;

    

}

接着该怎么调用这个类方法就不用我说了吧!
阅读全文
0 0