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

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

NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];

//app名称

NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"];

// app版本

NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"];

// app build版本

NSString *app_build = [infoDictionary objectForKey:@"CFBundleVersion"];

//手机序列号   

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

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

NSString* userPhoneName = [[UIDevice currentDevice] name];

//设备名称  (iOS)

NSString* deviceName = [[UIDevice currentDevice] systemName];

//手机系统版本  (10.2.1)

NSString* phoneVersion = [[UIDevice currentDevice] systemVersion];

//手机型号  (iPhone)

NSString* phoneModel = [[UIDevice currentDevice] model];

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

NSString* localPhoneModel = [[UIDevice currentDevice] localizedModel];

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

// 需要#import


+ (NSString*)deviceModelName


{

    struct utsname systemInfo;

    uname(&systemInfo);

    NSString *deviceModel = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];

    //iPhone 系列

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

   

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

    

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

    

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

    

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

    

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

    

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

    

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

    

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

    

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

    

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

    

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

    

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

    

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

    

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

    

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

    

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

    

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

    

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

    

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

 

    //iPod 系列

    

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

    

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

    

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

    

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

    

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

    

    

    

    //iPad 系列

    

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

    

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

    

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

    

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

    

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

    

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

    

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

    

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

    

    

    

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

    

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

    

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

    

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

    

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

    

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

    

    

    

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

    

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

    

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

    

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

    

    if ([deviceModel isEqualToString:@"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;

    

}

接着该怎么调用这个类方法就不用我说了吧!

你可能感兴趣的:(开发小技巧)