博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS - 3种方法获取设备硬件类型:
阅读量:4669 次
发布时间:2019-06-09

本文共 5620 字,大约阅读时间需要 18 分钟。

1.这种是在较高层次获取设备类型,返回的是 iPhone , iPod , iPad 。适合要求不高的。

 

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

 

2.这是中获取设备类型的方法,主要是C语言的方法,注意引入头文件 #include 。输入底层获取设备类型的方法。

 

#include - (NSString *)getDeviceVersionInfo{    size_t size;    // get the length of machine name    sysctlbyname("hw.machine", NULL, &size, NULL, 0);    // get machine name    char *machine = malloc(size);    sysctlbyname("hw.machine", machine, &size, NULL, 0);    NSString *platform = [NSString stringWithFormat:@"%s", machine];    free(machine);        return platform;}-(NSString *)correspondVersion{    NSString *correspondVersion = [self getDeviceVersionInfo];        if ([correspondVersion isEqualToString:@"i386"])        return@"Simulator";    if ([correspondVersion isEqualToString:@"x86_64"])       return @"Simulator";        if ([correspondVersion isEqualToString:@"iPhone1,1"])   return@"iPhone 1";    if ([correspondVersion isEqualToString:@"iPhone1,2"])   return@"iPhone 3";    if ([correspondVersion isEqualToString:@"iPhone2,1"])   return@"iPhone 3S";    if ([correspondVersion isEqualToString:@"iPhone3,1"] || [correspondVersion isEqualToString:@"iPhone3,2"])   return@"iPhone 4";    if ([correspondVersion isEqualToString:@"iPhone4,1"])   return@"iPhone 4S";    if ([correspondVersion isEqualToString:@"iPhone5,1"] || [correspondVersion isEqualToString:@"iPhone5,2"])   return @"iPhone 5";    if ([correspondVersion isEqualToString:@"iPhone5,3"] || [correspondVersion isEqualToString:@"iPhone5,4"])   return @"iPhone 5C";    if ([correspondVersion isEqualToString:@"iPhone6,1"] || [correspondVersion isEqualToString:@"iPhone6,2"])   return @"iPhone 5S";        if ([correspondVersion isEqualToString:@"iPod1,1"])     return@"iPod Touch 1";    if ([correspondVersion isEqualToString:@"iPod2,1"])     return@"iPod Touch 2";    if ([correspondVersion isEqualToString:@"iPod3,1"])     return@"iPod Touch 3";    if ([correspondVersion isEqualToString:@"iPod4,1"])     return@"iPod Touch 4";    if ([correspondVersion isEqualToString:@"iPod5,1"])     return@"iPod Touch 5";        if ([correspondVersion isEqualToString:@"iPad1,1"])     return@"iPad 1";    if ([correspondVersion isEqualToString:@"iPad2,1"] || [correspondVersion isEqualToString:@"iPad2,2"] || [correspondVersion isEqualToString:@"iPad2,3"] || [correspondVersion isEqualToString:@"iPad2,4"])     return@"iPad 2";    if ([correspondVersion isEqualToString:@"iPad2,5"] || [correspondVersion isEqualToString:@"iPad2,6"] || [correspondVersion isEqualToString:@"iPad2,7"] )      return @"iPad Mini";    if ([correspondVersion isEqualToString:@"iPad3,1"] || [correspondVersion isEqualToString:@"iPad3,2"] || [correspondVersion isEqualToString:@"iPad3,3"] || [correspondVersion isEqualToString:@"iPad3,4"] || [correspondVersion isEqualToString:@"iPad3,5"] || [correspondVersion isEqualToString:@"iPad3,6"])      return @"iPad 3";        return correspondVersion;}

 

 

3.这是2一样,是Linux中获取设备类型的方法,主要是C语言的方法,注意引入头文件 #import "sys/utsname.h" 。输入底层获取设备类型的方法。

 

#import "sys/utsname.h"- (NSString *)getDeviceVersionInfo{    struct utsname systemInfo;    uname(&systemInfo);    NSString *platform = [NSString stringWithFormat:@"%s", systemInfo.machine];        return platform;}-(NSString *)correspondVersion{    NSString *correspondVersion = [self getDeviceVersionInfo];        if ([correspondVersion isEqualToString:@"i386"])        return@"Simulator";    if ([correspondVersion isEqualToString:@"x86_64"])       return @"Simulator";        if ([correspondVersion isEqualToString:@"iPhone1,1"])   return@"iPhone 1";    if ([correspondVersion isEqualToString:@"iPhone1,2"])   return@"iPhone 3";    if ([correspondVersion isEqualToString:@"iPhone2,1"])   return@"iPhone 3S";    if ([correspondVersion isEqualToString:@"iPhone3,1"] || [correspondVersion isEqualToString:@"iPhone3,2"])   return@"iPhone 4";    if ([correspondVersion isEqualToString:@"iPhone4,1"])   return@"iPhone 4S";    if ([correspondVersion isEqualToString:@"iPhone5,1"] || [correspondVersion isEqualToString:@"iPhone5,2"])   return @"iPhone 5";    if ([correspondVersion isEqualToString:@"iPhone5,3"] || [correspondVersion isEqualToString:@"iPhone5,4"])   return @"iPhone 5C";    if ([correspondVersion isEqualToString:@"iPhone6,1"] || [correspondVersion isEqualToString:@"iPhone6,2"])   return @"iPhone 5S";        if ([correspondVersion isEqualToString:@"iPod1,1"])     return@"iPod Touch 1";    if ([correspondVersion isEqualToString:@"iPod2,1"])     return@"iPod Touch 2";    if ([correspondVersion isEqualToString:@"iPod3,1"])     return@"iPod Touch 3";    if ([correspondVersion isEqualToString:@"iPod4,1"])     return@"iPod Touch 4";    if ([correspondVersion isEqualToString:@"iPod5,1"])     return@"iPod Touch 5";        if ([correspondVersion isEqualToString:@"iPad1,1"])     return@"iPad 1";    if ([correspondVersion isEqualToString:@"iPad2,1"] || [correspondVersion isEqualToString:@"iPad2,2"] || [correspondVersion isEqualToString:@"iPad2,3"] || [correspondVersion isEqualToString:@"iPad2,4"])     return@"iPad 2";    if ([correspondVersion isEqualToString:@"iPad2,5"] || [correspondVersion isEqualToString:@"iPad2,6"] || [correspondVersion isEqualToString:@"iPad2,7"] )      return @"iPad Mini";    if ([correspondVersion isEqualToString:@"iPad3,1"] || [correspondVersion isEqualToString:@"iPad3,2"] || [correspondVersion isEqualToString:@"iPad3,3"] || [correspondVersion isEqualToString:@"iPad3,4"] || [correspondVersion isEqualToString:@"iPad3,5"] || [correspondVersion isEqualToString:@"iPad3,6"])      return @"iPad 3";        return correspondVersion;

转载于:https://www.cnblogs.com/liaolijun/p/6682140.html

你可能感兴趣的文章
.NET设计模式(1):1.1 单例模式(Singleton Pattern)
查看>>
创建模态对话框和非模态对话框
查看>>
08-图8 How Long Does It Take
查看>>
二维数组中最大连通子数组
查看>>
java 正则表达式-忽略大小写与多行匹配
查看>>
mac 上亚马逊密钥登录
查看>>
css选择器中:first-child与:first-of-type的区别
查看>>
nopcommerce 二次开发
查看>>
NHibernate入门实例
查看>>
IBM_DS5020磁盘阵列做raid、热备并把盘阵挂在服务器上的步骤
查看>>
svg制作风车旋转
查看>>
《软件工程》课堂作业:返回一个整数数组中最大字数组的和
查看>>
ACM 美素数 (没AC)
查看>>
Sqlserver学习研究
查看>>
VTK图形模型主要对象
查看>>
c# Linq实现 获得某一个路径下所有文件的名(不含扩展名)
查看>>
动静态广播的区别
查看>>
前缀式计算(前缀表达式)
查看>>
Android手机通讯录解析
查看>>
汇编语言第一章
查看>>