zoukankan      html  css  js  c++  java
  • iOS获取设备型号

    导入头文件

    #include <sys/types.h>
    #include <sys/sysctl.h>

    直接调用

     1 //获得设备型号
     2 + (NSString *)getCurrentDeviceModel:(UIViewController *)controller
     3 {
     4     int mib[2];
     5     size_t len;
     6     char *machine;
     7 
     8     mib[0] = CTL_HW;
     9     mib[1] = HW_MACHINE;
    10     sysctl(mib, 2, NULL, &len, NULL, 0);
    11     machine = malloc(len);
    12     sysctl(mib, 2, machine, &len, NULL, 0);
    13 
    14     NSString *platform = [NSString stringWithCString:machine encoding:NSASCIIStringEncoding];
    15     free(machine);
    16 
    17     if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 2G (A1203)";
    18     if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G (A1241/A1324)";
    19     if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS (A1303/A1325)";
    20     if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4 (A1332)";
    21     if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone 4 (A1332)";
    22     if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone 4 (A1349)";
    23     if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S (A1387/A1431)";
    24     if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5 (A1428)";
    25     if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5 (A1429/A1442)";
    26     if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c (A1456/A1532)";
    27     if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c (A1507/A1516/A1526/A1529)";
    28     if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (A1453/A1533)";
    29     if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s (A1457/A1518/A1528/A1530)";
    30     if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus (A1522/A1524)";
    31     if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6 (A1549/A1586)";
    32 
    33     if ([platform isEqualToString:@"iPod1,1"])   return @"iPod Touch 1G (A1213)";
    34     if ([platform isEqualToString:@"iPod2,1"])   return @"iPod Touch 2G (A1288)";
    35     if ([platform isEqualToString:@"iPod3,1"])   return @"iPod Touch 3G (A1318)";
    36     if ([platform isEqualToString:@"iPod4,1"])   return @"iPod Touch 4G (A1367)";
    37     if ([platform isEqualToString:@"iPod5,1"])   return @"iPod Touch 5G (A1421/A1509)";
    38 
    39     if ([platform isEqualToString:@"iPad1,1"])   return @"iPad 1G (A1219/A1337)";
    40 
    41     if ([platform isEqualToString:@"iPad2,1"])   return @"iPad 2 (A1395)";
    42     if ([platform isEqualToString:@"iPad2,2"])   return @"iPad 2 (A1396)";
    43     if ([platform isEqualToString:@"iPad2,3"])   return @"iPad 2 (A1397)";
    44     if ([platform isEqualToString:@"iPad2,4"])   return @"iPad 2 (A1395+New Chip)";
    45     if ([platform isEqualToString:@"iPad2,5"])   return @"iPad Mini 1G (A1432)";
    46     if ([platform isEqualToString:@"iPad2,6"])   return @"iPad Mini 1G (A1454)";
    47     if ([platform isEqualToString:@"iPad2,7"])   return @"iPad Mini 1G (A1455)";
    48 
    49     if ([platform isEqualToString:@"iPad3,1"])   return @"iPad 3 (A1416)";
    50     if ([platform isEqualToString:@"iPad3,2"])   return @"iPad 3 (A1403)";
    51     if ([platform isEqualToString:@"iPad3,3"])   return @"iPad 3 (A1430)";
    52     if ([platform isEqualToString:@"iPad3,4"])   return @"iPad 4 (A1458)";
    53     if ([platform isEqualToString:@"iPad3,5"])   return @"iPad 4 (A1459)";
    54     if ([platform isEqualToString:@"iPad3,6"])   return @"iPad 4 (A1460)";
    55 
    56     if ([platform isEqualToString:@"iPad4,1"])   return @"iPad Air (A1474)";
    57     if ([platform isEqualToString:@"iPad4,2"])   return @"iPad Air (A1475)";
    58     if ([platform isEqualToString:@"iPad4,3"])   return @"iPad Air (A1476)";
    59     if ([platform isEqualToString:@"iPad4,4"])   return @"iPad Mini 2G (A1489)";
    60     if ([platform isEqualToString:@"iPad4,5"])   return @"iPad Mini 2G (A1490)";
    61     if ([platform isEqualToString:@"iPad4,6"])   return @"iPad Mini 2G (A1491)";
    62 
    63     if ([platform isEqualToString:@"i386"])      return @"iPhone Simulator";
    64     if ([platform isEqualToString:@"x86_64"])    return @"iPhone Simulator";
    65     return platform;
    66 }
    View Code
  • 相关阅读:
    Effective C++读书笔记~4 设计与声明
    《程序员的自我修养》读书笔记 第十一章 运行库
    C++ 调试问题:对象包含与成员函数不兼容的类型限定符
    Effective C++读书笔记~6 继承与面向对象设计
    C++ lambda表达式
    备战前端
    SQL Server2008 统计某个数据库用户表和行计数方法
    回想
    C# 理解lock
    (原创)Nhibernate对象关系映射的两种方式以及一些注意
  • 原文地址:https://www.cnblogs.com/fengmin/p/5341230.html
Copyright © 2011-2022 走看看