1. #import <sys/sysctl.h>
  2. //获得设备型号
  3. -(NSString *)getCurrentDeviceModel
  4. {
  5. int mib[2];
  6. size_t len;
  7. char *machine;
  8.  
  9. mib[0] = CTL_HW;
  10. mib[1] = HW_MACHINE;
  11. sysctl(mib, 2, NULL, &len, NULL, 0);
  12. machine = malloc(len);
  13. sysctl(mib, 2, machine, &len, NULL, 0);
  14.  
  15. NSString *platform = [NSString stringWithCString:machine encoding:NSASCIIStringEncoding];
  16. free(machine);
  17.  
  18. if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 2G (A1203)";
  19. if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G (A1241/A1324)";
  20. if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS (A1303/A1325)";
  21. if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4 (A1332)";
  22. if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone 4 (A1332)";
  23. if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone 4 (A1349)";
  24. if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S (A1387/A1431)";
  25. if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5 (A1428)";
  26. if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5 (A1429/A1442)";
  27. if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c (A1456/A1532)";
  28. if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c (A1507/A1516/A1526/A1529)";
  29. if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (A1453/A1533)";
  30. if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s (A1457/A1518/A1528/A1530)";
  31. if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus (A1522/A1524)";
  32. if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6 (A1549/A1586)";
  33.  
  34. if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G (A1213)";
  35. if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G (A1288)";
  36. if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G (A1318)";
  37. if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G (A1367)";
  38. if ([platform isEqualToString:@"iPod5,1"]) return @"iPod Touch 5G (A1421/A1509)";
  39.  
  40. if ([platform isEqualToString:@"iPad1,1"]) return @"iPad 1G (A1219/A1337)";
  41.  
  42. if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2 (A1395)";
  43. if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2 (A1396)";
  44. if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2 (A1397)";
  45. if ([platform isEqualToString:@"iPad2,4"]) return @"iPad 2 (A1395+New Chip)";
  46. if ([platform isEqualToString:@"iPad2,5"]) return @"iPad Mini 1G (A1432)";
  47. if ([platform isEqualToString:@"iPad2,6"]) return @"iPad Mini 1G (A1454)";
  48. if ([platform isEqualToString:@"iPad2,7"]) return @"iPad Mini 1G (A1455)";
  49.  
  50. if ([platform isEqualToString:@"iPad3,1"]) return @"iPad 3 (A1416)";
  51. if ([platform isEqualToString:@"iPad3,2"]) return @"iPad 3 (A1403)";
  52. if ([platform isEqualToString:@"iPad3,3"]) return @"iPad 3 (A1430)";
  53. if ([platform isEqualToString:@"iPad3,4"]) return @"iPad 4 (A1458)";
  54. if ([platform isEqualToString:@"iPad3,5"]) return @"iPad 4 (A1459)";
  55. if ([platform isEqualToString:@"iPad3,6"]) return @"iPad 4 (A1460)";
  56.  
  57. if ([platform isEqualToString:@"iPad4,1"]) return @"iPad Air (A1474)";
  58. if ([platform isEqualToString:@"iPad4,2"]) return @"iPad Air (A1475)";
  59. if ([platform isEqualToString:@"iPad4,3"]) return @"iPad Air (A1476)";
  60. if ([platform isEqualToString:@"iPad4,4"]) return @"iPad Mini 2G (A1489)";
  61. if ([platform isEqualToString:@"iPad4,5"]) return @"iPad Mini 2G (A1490)";
  62. if ([platform isEqualToString:@"iPad4,6"]) return @"iPad Mini 2G (A1491)";
  63.  
  64. if ([platform isEqualToString:@"i386"]) return @"iPhone Simulator";
  65. if ([platform isEqualToString:@"x86_64"]) return @"iPhone Simulator";
  66. return platform;
  67. }

  

获取iOS设备型号iphone ipad的更多相关文章

  1. 获取iOS设备型号的方法总结

    三种常用的办法获取iOS设备的型号: 1. [UIDevice currentDevice].model (推荐): 2. uname(struct utsname *name) ,使用此函数需要#i ...

  2. IOS 获取最新设备型号方法

    1.IOS 获取最新设备型号方法列表最新对照表:http://theiphonewiki.com/wiki/Models方法: #import "sys/utsname.h” struct ...

  3. 获取iOS设备的型号

    获取iOS设备的型号 需要#import "sys/utsname.h"     structutsname systemInfo;     uname(&systemIn ...

  4. iOS学习——获取iOS设备的各种信息

    不管是在Android开发还是iOS开发过程中,有时候我们需要经常根据设备的一些状态或信息进行不同的设置和性能配置,例如横竖屏切换时,电池电量低时,内存不够时,网络切换时等等,我们在这时候需要进行一些 ...

  5. IOS设备型号(原创)

    以下是我收集的ios目前为止移动设备型号,ipad air不知道,本人没有这款设备,求指导的给个回复,在这谢谢了 ///** ////////////////////   设备类型 字符串   /// ...

  6. 《疯狂iOS讲义(下)——iPhone/iPad高级应用与手游开发(含CD光盘1张)》

    <疯狂iOS讲义(下)——iPhone/iPad高级应用与手游开发(含CD光盘1张)> 基本信息 作者: 李刚    肖文吉 出版社:电子工业出版社 ISBN:9787121224379 ...

  7. Unity3D开发之“获取IOS设备所在的国家代码"

    原地址:http://dong2008hong.blog.163.com/blog/static/469688272014021025578/ 在前一段时间游戏开发中需要实现获取IOS设备所在的国家代 ...

  8. 获取ios设备的udid

    今天get的第二个技能~~~ UDID指的是设备的唯一设备识别符,ipa包未上架之前如果不添加udid是无法安装成功的.那么如何快速获取ios设备的udid呢? 今天get的方法是用蒲公英,网址:ht ...

  9. 获取iOS设备唯一标识

    [获取iOS设备唯一标识] 1.已禁用-[UIDevice uniqueIdentifier] 苹果总是把用户的隐私看的很重要.-[UIDevice uniqueIdentifier]在iOS5实际在 ...

随机推荐

  1. 工作需求----表单select多选交互

    由于工作需求接触select框多选的情况,以下是我分享的代码,主要是进入页面默认选中.支持多选属性: 1.html内容 multiple=”multiple” 属性为多选属性 <div clas ...

  2. 使用 AngularJS & NodeJS 实现基于token 的认证应用(转)

    认证是任何 web 应用中不可或缺的一部分.在这个教程中,我们会讨论基于 token 的认证系统以及它和传统的登录系统的不同.这篇教程的末尾,你会看到一个使用 AngularJS 和 NodeJS 构 ...

  3. guava学习--SettableFuture

    转载:https://my.oschina.net/realfighter/blog/349931 翻开SettableFuture的源码,我们看到SettableFuture继承了AbstractF ...

  4. 如何更方便地调试javascript代码

    开发者工具 现在一般的浏览器都内置了开发者工具,快捷键F12可以打开,如Chrome浏览器下,Sources面板下找到对应的js文件 这是首选方法,但是对于SPA程序(比如easyui),可能找不到内 ...

  5. 记一次酷派尚锋Y75刷机

    昨天因为手机卡的原因,我的同学帮他的同学刷机,听他说是用刷机精灵线刷的rom包,但是刷机失败了,就来找我把弄好,他是个半吊子水平,刚接触这个东西,也是运气不好,什么刷机失败的问题都让他遇上了,刷了几个 ...

  6. 由cobertura插件生成测试覆盖率报告

    由于cobertura已经集成到maven中,所以可以很方便的直接调用此插件生成报告: 直接运行命令:mvn cobertura:cobertura 就可以直接生成测试报告了. 下面是截图:

  7. IOS开发:监听来电状态的改变。

    #import <CoreTelephony/CTCallCenter.h> #import <CoreTelephony/CTCall.h> @property(nonato ...

  8. unity5.0材质添加问题

    将Material拖放到Cube的Inspector视图中 材质添加图片背景,unity自带了很多种材质类型点击Shader下拉按钮可以更换材质类型为Diffuse camera preview: G ...

  9. little tips of painter.drawRect in Qt

    一个QImage或QPixmap新建变量时,第一次填充图片时设置的宽高正常(fill),其后的绘制操作(draw)则会在绘制的矩形底边和右边加上painter.pen().width() 在下面代码1 ...

  10. UIImage学习

    UIImage A UIImage object is a high-level way to display image data. You can create images from files ...