zoukankan      html  css  js  c++  java
  • IOS 获取最新设备型号方法

    1.IOS 获取最新设备型号方法
    列表最新对照表:http://theiphonewiki.com/wiki/Models
    方法:

    #import "sys/utsname.h”

    struct utsname systemInfo;  
       uname(&systemInfo);  
      
       NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];  
    

    这样得到的   deviceString  是iPhone5,2 的设备号,根据对照表可以获取到当前手机型号。

    完整函数:

     1 struct utsname systemInfo;  
     2     uname(&systemInfo);  
     3     NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];  
     4    
     5     NSArray *modelArray = @[  
     6                               
     7                             @"i386", @"x86_64",  
     8                               
     9                             @"iPhone1,1",  
    10                             @"iPhone1,2",  
    11                             @"iPhone2,1",  
    12                             @"iPhone3,1",  
    13                             @"iPhone3,2",  
    14                             @"iPhone3,3",  
    15                             @"iPhone4,1",  
    16                             @"iPhone5,1",  
    17                             @"iPhone5,2",  
    18                             @"iPhone5,3",  
    19                             @"iPhone5,4",  
    20                             @"iPhone6,1",  
    21                             @"iPhone6,2",  
    22                               
    23                             @"iPod1,1",  
    24                             @"iPod2,1",  
    25                             @"iPod3,1",  
    26                             @"iPod4,1",  
    27                             @"iPod5,1",  
    28                               
    29                             @"iPad1,1",  
    30                             @"iPad2,1",  
    31                             @"iPad2,2",  
    32                             @"iPad2,3",  
    33                             @"iPad2,4",  
    34                             @"iPad3,1",  
    35                             @"iPad3,2",  
    36                             @"iPad3,3",  
    37                             @"iPad3,4",  
    38                             @"iPad3,5",  
    39                             @"iPad3,6",  
    40                               
    41                             @"iPad2,5",  
    42                             @"iPad2,6",  
    43                             @"iPad2,7",  
    44                             ];  
    45     NSArray *modelNameArray = @[  
    46                                   
    47                                 @"iPhone Simulator", @"iPhone Simulator",  
    48                                   
    49                                 @"iPhone 2G",  
    50                                 @"iPhone 3G",  
    51                                 @"iPhone 3GS",  
    52                                 @"iPhone 4(GSM)",  
    53                                 @"iPhone 4(GSM Rev A)",  
    54                                 @"iPhone 4(CDMA)",  
    55                                 @"iPhone 4S",  
    56                                 @"iPhone 5(GSM)",  
    57                                 @"iPhone 5(GSM+CDMA)",  
    58                                 @"iPhone 5c(GSM)",  
    59                                 @"iPhone 5c(Global)",  
    60                                 @"iphone 5s(GSM)",  
    61                                 @"iphone 5s(Global)",  
    62                                   
    63                                 @"iPod Touch 1G",  
    64                                 @"iPod Touch 2G",  
    65                                 @"iPod Touch 3G",  
    66                                 @"iPod Touch 4G",  
    67                                 @"iPod Touch 5G",  
    68                                   
    69                                 @"iPad",  
    70                                 @"iPad 2(WiFi)",  
    71                                 @"iPad 2(GSM)",  
    72                                 @"iPad 2(CDMA)",  
    73                                 @"iPad 2(WiFi + New Chip)",  
    74                                 @"iPad 3(WiFi)",  
    75                                 @"iPad 3(GSM+CDMA)",  
    76                                 @"iPad 3(GSM)",  
    77                                 @"iPad 4(WiFi)",  
    78                                 @"iPad 4(GSM)",  
    79                                 @"iPad 4(GSM+CDMA)",  
    80                                   
    81                                 @"iPad mini (WiFi)",  
    82                                 @"iPad mini (GSM)",  
    83                                 @"ipad mini (GSM+CDMA)"  
    84                                 ];  
    85     NSInteger modelIndex = - 1;  
    86     NSString *modelNameString = nil;  
    87     modelIndex = [modelArray indexOfObject:deviceString];  
    88     if (modelIndex >= 0 && modelIndex < [modelNameArray count]) {  
    89         modelNameString = [modelNameArray objectAtIndex:modelIndex];  
    90     }  
    91       
    92   
    93     NSLog(@"----设备类型---%@",modelNameString);

    注:struct utsname systemInfo; 这是LINUX系统放硬件版本的信息的地方。

    附录:

     1 //    IOS-获取Model(设备型号)、Version(设备版本号)、app(程序版本号)等  
     2     NSLog(@"name: %@", [[UIDevice currentDevice] name]);  
     3     NSLog(@"systemName: %@", [[UIDevice currentDevice] systemName]);  
     4     NSLog(@"systemVersion: %@", [[UIDevice currentDevice] systemVersion]);  
     5     NSLog(@"model: %@", [[UIDevice currentDevice] model]);  
     6     NSLog(@"localizedModel: %@", [[UIDevice currentDevice] localizedModel]);  
     7       
     8       
     9       
    10     NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];  
    11       
    12     CFShow((__bridge CFTypeRef)(infoDictionary));  
    13       
    14     // app名称  
    15     NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"];  
    16     // app版本  
    17     NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"];  
    18     // app build版本  
    19     NSString *app_build = [infoDictionary objectForKey:@"CFBundleVersion”];  

    ----------备注记录之用

  • 相关阅读:
    整合Druid数据源
    SpringBoot与数据访问
    IDEA spirng boot @Autowired注解 mapper出现红色下划线解决方法
    IntelliJ Idea 常用快捷键列表
    docker 安装mysql示例
    设计模式都没用过,好意思出去面试?
    为什么 Java 线程没有 Running 状态?
    厉害了,淘宝千万并发,14 次架构演进…
    Redis 内存满了怎么办……
    Java 线程池 8 大拒绝策略,面试必问!
  • 原文地址:https://www.cnblogs.com/CharlesGrant/p/4031225.html
Copyright © 2011-2022 走看看