2019独角兽企业重金招聘Python工程师标准>>>

+ (NSString*)deviceVersion
{
    // 需要#import "sys/utsname.h"
    struct utsname systemInfo;
    uname(&systemInfo);
    NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
    
    NSLog(@"iPhone id:%@",deviceString);
    NSString *model = deviceString;
    if ([model isEqualToString:@"iPhone1,1"])    return @"iPhone 1G";
    if ([model isEqualToString:@"iPhone1,2"])    return @"iPhone 3G";
    if ([model isEqualToString:@"iPhone2,1"])    return @"iPhone 3GS";
    if ([model isEqualToString:@"iPhone3,1"])    return @"iPhone 4";
    if ([model isEqualToString:@"iPhone3,3"])    return @"Verizon iPhone 4";
    if ([model isEqualToString:@"iPhone4,1"])    return @"iPhone 4S";
    if ([model isEqualToString:@"iPhone5,1"])    return @"iPhone 5 (GSM)";
    if ([model isEqualToString:@"iPhone5,2"])    return @"iPhone 5 (GSM+CDMA)";
    if ([model isEqualToString:@"iPhone5,3"])    return @"iPhone 5c (GSM)";
    if ([model isEqualToString:@"iPhone5,4"])    return @"iPhone 5c (GSM+CDMA)";
    if ([model isEqualToString:@"iPhone6,1"])    return @"iPhone 5s (GSM)";
    if ([model isEqualToString:@"iPhone6,2"])    return @"iPhone 5s (GSM+CDMA)";
    if ([model isEqualToString:@"iPhone7,1"])    return @"iPhone 6 Plus";
    if ([model isEqualToString:@"iPhone7,2"])    return @"iPhone 6";
    if ([model isEqualToString:@"iPhone8,1"])    return @"iPhone 6s Plus";
    if ([model isEqualToString:@"iPhone8,2"])    return @"iPhone 6s";
    if ([model isEqualToString:@"iPod1,1"])      return @"iPod Touch 1G";
    if ([model isEqualToString:@"iPod2,1"])      return @"iPod Touch 2G";
    if ([model isEqualToString:@"iPod3,1"])      return @"iPod Touch 3G";
    if ([model isEqualToString:@"iPod4,1"])      return @"iPod Touch 4G";
    if ([model isEqualToString:@"iPod5,1"])      return @"iPod Touch 5G";
    if ([model isEqualToString:@"iPad1,1"])      return @"iPad";
    if ([model isEqualToString:@"iPad2,1"])      return @"iPad 2 (WiFi)";
    if ([model isEqualToString:@"iPad2,2"])      return @"iPad 2 (GSM)";
    if ([model isEqualToString:@"iPad2,3"])      return @"iPad 2 (CDMA)";
    if ([model isEqualToString:@"iPad2,4"])      return @"iPad 2 (WiFi)";
    if ([model isEqualToString:@"iPad2,5"])      return @"iPad Mini (WiFi)";
    if ([model isEqualToString:@"iPad2,6"])      return @"iPad Mini (GSM)";
    if ([model isEqualToString:@"iPad2,7"])      return @"iPad Mini (GSM+CDMA)";
    if ([model isEqualToString:@"iPad3,1"])      return @"iPad 3 (WiFi)";
    if ([model isEqualToString:@"iPad3,2"])      return @"iPad 3 (GSM+CDMA)";
    if ([model isEqualToString:@"iPad3,3"])      return @"iPad 3 (GSM)";
    if ([model isEqualToString:@"iPad3,4"])      return @"iPad 4 (WiFi)";
    if ([model isEqualToString:@"iPad3,5"])      return @"iPad 4 (GSM)";
    if ([model isEqualToString:@"iPad3,6"])      return @"iPad 4 (GSM+CDMA)";
    if ([model isEqualToString:@"iPad4,1"])      return @"iPad Air (WiFi)";
    if ([model isEqualToString:@"iPad4,2"])      return @"iPad Air (Cellular)";
    if ([model isEqualToString:@"iPad4,4"])      return @"iPad Mini 2G (WiFi)";
    if ([model isEqualToString:@"iPad4,5"])      return @"iPad Mini 2G (Cellular)";
    if ([model isEqualToString:@"iPad5,1"])      return @"iPad Mini 4 (WiFi)";
    if ([model isEqualToString:@"iPad5,2"])      return @"iPad Mini 4 (Cellular)";
    if ([model isEqualToString:@"iPad6,8"])      return @"iPad Pro";
    if ([model isEqualToString:@"i386"])         return @"Simulator";
    if ([model isEqualToString:@"x86_64"])       return @"Simulator";
    NSLog(@"NOTE: Unknown device type: %@", deviceString);
    
    return  [[UIDevice currentDevice] model];
}

转载于:https://my.oschina.net/5951008876/blog/683228

iOS 开发判断手机型号相关推荐

  1. iOS 正则表达式判断手机型号、邮箱、手机号、身份证、昵称、密码等

    //电子邮箱验证 + (BOOL) validateEmail:(NSString *)email{NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A ...

  2. iOS 判断手机型号及系统版本(包括iPhone 11系列)

    iPhoneX推出已经有很长时间了,从最初的简单适配到前一段时间拿到真机开始做更优化的适配,我在部分地方用到了判断手机型号及系统版本的方法,下面分享一下. 首先需要导入头文件 #import < ...

  3. iOS 判断手机型号(已更新至iPhone 14 Pro Max)

    iOS 判断手机型号(已更新至iPhone 14 Pro Max) 判断手机型号代码如下: #import <sys/utsname.h> #pragma mark -- 判断手机型号 + ...

  4. ios开发-获取手机相关信息

    今天在做客户端的时候,里面有个意见反馈功能. 调用系统带的邮件功能,发送邮件到指定邮箱. 然后我就想,应该在邮件正文部分添加手机相关内容,比如型号,版本,应用程序的版本等等,这样不仅使用者方便,开发者 ...

  5. iOS 如何获取手机型号、系统版本、电池电量

    1.手机型号:iPhone 6 NSString* phoneModel = [self iphoneType]; //方法在下面 2.手机系统版本:9.1 NSString* phoneVersio ...

  6. iOS 判断手机型号及系统版本(最新)持续更新

    添加头文件 #import <sys/utsname.h> + (NSString *)getPhoneModel { struct utsname systemInfo; uname(& ...

  7. iOS开发-获取设备型号信息

    开发中有的时候查看设计统计数据,或者通过日志查看错误信息,这个时候我们就需要获取获取设备信息,看下关于设备有几种方法: 1 2 3 4 5 NSLog(@"%@",[[UIDevi ...

  8. iOS开发监测手机流量使用情况

    获取手机使用流量存在几个问题: ①iOS是无法像Android一样监听到开机广播和关机广播的,立刻关机再开机,监测的移动网络下流量会默认清空. ②应用在后台运行时,突然被杀死,无法对流量统计,需要在应 ...

  9. iOS如何判断手机是否已越狱

    分享一篇关于安全攻防类-<越狱检测的攻与防> 在应用开发过程中,我们希望知道设备是否越狱,正以什么权限运行程序,好对应采取一些防御和安全提示措施. iOS7相比之前版本的系统而言,升级了沙 ...

最新文章

  1. 朱俊彦团队提出GAN压缩算法:计算量减少20倍,生成效果不变,GPU、CPU统统能加速...
  2. 全球及中国洗发护发市场品牌营销调研与投资竞争策略研究报告2022版
  3. qchart 图表_QChart双Y轴实时更新曲线图
  4. android sdk build-tools_从零开始仿写一个抖音App——视频编辑SDK开发(一)
  5. 关于Watir的upload file不能自动选择文件的解决方案
  6. flask 允许内网访问
  7. 快速生成HTML结构语法(HTML、CSS)
  8. 浅谈javascript和java中的字符串
  9. 十一种值得女生交往的男生
  10. html中父子元素的解释,CSS 子绝父相 理解
  11. 中国各省常住人口和GDP数据( 2001-2019年)
  12. 9008刷机工具_黔隆科技刷机教程OPPOR11忘记密码免刷机保资料解屏幕锁教程
  13. 百度网盘正版免费扩容教程
  14. 【步态识别】GaitMPL
  15. 秒杀的实现原理及实现方式
  16. echarts 实现柱状图左右横向对比显示
  17. QT多线程之:moveToThread
  18. Vue--移动端开发
  19. linux vim拷贝if tab,vim文本编辑器
  20. 无痕刷新token-无需提供刷新token接口方式

热门文章

  1. flex 3.0序列号
  2. 华为9.0以上系统如何没root激活XPOSED框架的流程
  3. 备份TB级别Oracle数据库的一些技巧
  4. 【C#】【Log】Common.Logging.MultipleLogger及ETWLoggerd研究
  5. 在maven项目中使用Junit进行单元测试(一)
  6. python函数(三)
  7. EngJS(超轻量) 中数据双向绑定如何使用
  8. 《ASP.NET 开发从入门到精通》----2.3 编译和部署ASP.NET程序
  9. Linux下使用dmidecode查看服务器的详细的硬件配置
  10. [.net 面向对象编程基础] (18) 泛型