(转)获取iOS设备型号(最新iPhone6+、iPad4)

news/2024/2/28 11:34:11
http://www.oschina.net/code/snippet_2247606_39106

//获得设备型号
+ ( NSString *)getCurrentDeviceModel:( UIViewController *)controller
{
     int mib[2];
     size_t len;
     char *machine;
     
     mib[0] = CTL_HW;
     mib[1] = HW_MACHINE;
     sysctl(mib, 2, NULL , &len, NULL , 0);
     machine = malloc (len);
     sysctl(mib, 2, machine, &len, NULL , 0);
     
     NSString *platform = [ NSString stringWithCString:machine encoding: NSASCIIStringEncoding ];
     free (machine);
     
     if ([platform isEqualToString:@ "iPhone1,1" ]) return @ "iPhone 2G (A1203)" ;
     if ([platform isEqualToString:@ "iPhone1,2" ]) return @ "iPhone 3G (A1241/A1324)" ;
     if ([platform isEqualToString:@ "iPhone2,1" ]) return @ "iPhone 3GS (A1303/A1325)" ;
     if ([platform isEqualToString:@ "iPhone3,1" ]) return @ "iPhone 4 (A1332)" ;
     if ([platform isEqualToString:@ "iPhone3,2" ]) return @ "iPhone 4 (A1332)" ;
     if ([platform isEqualToString:@ "iPhone3,3" ]) return @ "iPhone 4 (A1349)" ;
     if ([platform isEqualToString:@ "iPhone4,1" ]) return @ "iPhone 4S (A1387/A1431)" ;
     if ([platform isEqualToString:@ "iPhone5,1" ]) return @ "iPhone 5 (A1428)" ;
     if ([platform isEqualToString:@ "iPhone5,2" ]) return @ "iPhone 5 (A1429/A1442)" ;
     if ([platform isEqualToString:@ "iPhone5,3" ]) return @ "iPhone 5c (A1456/A1532)" ;
     if ([platform isEqualToString:@ "iPhone5,4" ]) return @ "iPhone 5c (A1507/A1516/A1526/A1529)" ;
     if ([platform isEqualToString:@ "iPhone6,1" ]) return @ "iPhone 5s (A1453/A1533)" ;
     if ([platform isEqualToString:@ "iPhone6,2" ]) return @ "iPhone 5s (A1457/A1518/A1528/A1530)" ;
     if ([platform isEqualToString:@ "iPhone7,1" ]) return @ "iPhone 6 Plus (A1522/A1524)" ;
     if ([platform isEqualToString:@ "iPhone7,2" ]) return @ "iPhone 6 (A1549/A1586)" ;
     
     if ([platform isEqualToString:@ "iPod1,1" ])   return @ "iPod Touch 1G (A1213)" ;
     if ([platform isEqualToString:@ "iPod2,1" ])   return @ "iPod Touch 2G (A1288)" ;
     if ([platform isEqualToString:@ "iPod3,1" ])   return @ "iPod Touch 3G (A1318)" ;
     if ([platform isEqualToString:@ "iPod4,1" ])   return @ "iPod Touch 4G (A1367)" ;
     if ([platform isEqualToString:@ "iPod5,1" ])   return @ "iPod Touch 5G (A1421/A1509)" ;
     
     if ([platform isEqualToString:@ "iPad1,1" ])   return @ "iPad 1G (A1219/A1337)" ;
     
     if ([platform isEqualToString:@ "iPad2,1" ])   return @ "iPad 2 (A1395)" ;
     if ([platform isEqualToString:@ "iPad2,2" ])   return @ "iPad 2 (A1396)" ;
     if ([platform isEqualToString:@ "iPad2,3" ])   return @ "iPad 2 (A1397)" ;
     if ([platform isEqualToString:@ "iPad2,4" ])   return @ "iPad 2 (A1395+New Chip)" ;
     if ([platform isEqualToString:@ "iPad2,5" ])   return @ "iPad Mini 1G (A1432)" ;
     if ([platform isEqualToString:@ "iPad2,6" ])   return @ "iPad Mini 1G (A1454)" ;
     if ([platform isEqualToString:@ "iPad2,7" ])   return @ "iPad Mini 1G (A1455)" ;
     
     if ([platform isEqualToString:@ "iPad3,1" ])   return @ "iPad 3 (A1416)" ;
     if ([platform isEqualToString:@ "iPad3,2" ])   return @ "iPad 3 (A1403)" ;
     if ([platform isEqualToString:@ "iPad3,3" ])   return @ "iPad 3 (A1430)" ;
     if ([platform isEqualToString:@ "iPad3,4" ])   return @ "iPad 4 (A1458)" ;
     if ([platform isEqualToString:@ "iPad3,5" ])   return @ "iPad 4 (A1459)" ;
     if ([platform isEqualToString:@ "iPad3,6" ])   return @ "iPad 4 (A1460)" ;
     
     if ([platform isEqualToString:@ "iPad4,1" ])   return @ "iPad Air (A1474)" ;
     if ([platform isEqualToString:@ "iPad4,2" ])   return @ "iPad Air (A1475)" ;
     if ([platform isEqualToString:@ "iPad4,3" ])   return @ "iPad Air (A1476)" ;
     if ([platform isEqualToString:@ "iPad4,4" ])   return @ "iPad Mini 2G (A1489)" ;
     if ([platform isEqualToString:@ "iPad4,5" ])   return @ "iPad Mini 2G (A1490)" ;
     if ([platform isEqualToString:@ "iPad4,6" ])   return @ "iPad Mini 2G (A1491)" ;
     
     if ([platform isEqualToString:@ "i386" ])      return @ "iPhone Simulator" ;
     if ([platform isEqualToString:@ "x86_64" ])    return @ "iPhone Simulator" ;
     return platform;
}

http://www.ppmy.cn/news/599064.html

相关文章

IPV4分类地址教程

第一部分:两台PC的ip地址192.168.0.1和192.168.0.2。 参照拓扑图配置2台pc的IP地址及子网掩码; Pc0IP地址配置(我提前配置了pc0的网关) Pc1IP地址配置 此时这两台pc端可以拼通,也就是两台电脑可以通信; …

ipv4的地址位数_ipv4

摘要 腾兴网为您分享:互助作业,期货开户云app,360加密软件,火知了,17app,中望cad2009,唐诗三百首早教,魔力秀,安防软件,cdr魔镜插件,文章原创度,生僻字歌词谐…

iOS14适配

适配1: Cell点击无效 在14上可能出现点击cell上的视图无法响应的情况. 原因:iOS14更改Cell视图布局.将contentView放在最上层,如果将视图加载在cell上,将会出现contentView遮罩,导致事件无法响应.是在此前关于 contentView 的声明注释中,官方已经明确建议开发者将 …

【IMX6ULL驱动开发学习】12.Linux驱动之设备树

承接上一篇博客 【IMX6ULL驱动开发学习】11.驱动设计之面向对象_分层思想(学习设备树过渡部分) 代码获取:https://gitee.com/chenshao777/imx6-ull_-drivers 我后面将三个层合并了(实际上只有前两层),合并…

【ROS】TF2坐标转换及实战示例

Halo,这里是Ppeua。平时主要更新C,数据结构算法…感兴趣就关注我吧!你定不会失望。 文章目录 0.ROS中的坐标转换消息包0.1 geometry_msgs/TransformStamped0.2 geometry_msgs/PointStamped1.静态坐标转换1.1导入所需功能包1.2发布方实现1.3 …

代码随想录训练营day55| 392.判断子序列 115.不同的子序列

TOC 前言 代码随想录算法训练营day55 一、Leetcode 392.判断子序列 1.题目 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是…

代码随想录训练营day46| 139.单词拆分

TOC 前言 代码随想录算法训练营day46 一、Leetcode 139.单词拆分 1.题目 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用…

OAuth2.0四种授权模式及实战

OAuth2.0四种授权模式以及Oauth2.0实战 首先我们得了解什么是Oauth2.0,简单来说Oauth2.0它是一个授权协议。我们可能会听说过,使用Oauth2.0来实现单点登录SSO,以及第三方登录。那个什么是授权? 举个通俗易懂的例子,就…

组播和广播优缺点及应用场景、代码示例

组播(Multicast)是一种网络通信方式,它允许将数据包同时发送给一组特定的目标主机。组播通过使用特殊的组播地址来标识目标主机组,而不是使用单播地址(点对点通信)或广播地址(发送给所有主机&am…

docker报错 driver failed programming external connectivity on e

Error response from daemon: driver failed programming external connectivity on e ndpoint mj 原因:在我们启动了Docker后,我们再对防火墙firewalld进行操作,就会发生上述报错, 详细原因:docker服务启动时定义的…

心形炫彩LED灯设计

一、硬件设计 LED彩灯由于其丰富的灯光色彩、低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。利用控制电路可使彩灯按一定的规律不断的改变状态,不仅可以获得良好的观赏效果,而且还可以省电…

HTML5+CSS3小实例:炫彩的发光字特效

前言: 今天我们向大家精选了一款HTML5CSS3文字特效,文字特效有超酷的动画类型,不多说,一起来看看。 描述: 这款文字特效既有倒影的效果,又有随机的颜色,看起来非常的炫酷。全文基于 HTML5CSS3 完…

360手机命令行进入fastboot线刷模式 360手机刷机

360手机命令行进入fastboot线刷模式 360手机刷机 参考:360手机-360刷机360刷机包twrp、root 360刷机包360手机刷机:360rom.github.io 【前言】 因360手机特殊;且因机器情况而异;导致360手机进不去fastboot线刷模式、360手机进…

missing go.sum entry for go.mod file

问题分析 代码中使用了第三方库,但是go.mod并没有跟着更新 解决方法 在项目目录下打开终端,执行go mod tidy解决,这个命令会删除不需要的依赖包、下载新的依赖包、更新go.sum

设计模式(二十一)——模板模式(Template )

设计模式(二十一)——模板模式 理解 模板模式,我的理解是父类中有操作的流程已经确定,但是没有具体的实现,实现可以在子类中实现,但是流程已经确定,只要在父类中实现一次即可。 应用场景 学…

百度搜索引擎爬行蜘蛛IP大全

互联网上很多资深人士深入研究百度蜘蛛IP,可谓是达到了一定的层次了,百度作为国内最大的搜索引擎,也占据了搜索引擎的半壁江山,百度近些月的算法调整也让SEO们身心疲惫,各种说法和更新的算法技巧,都在各大论…

BLEXBot是什么蜘蛛,需要屏蔽这个爬虫吗

BLEXBot这个蜘蛛也是最近爬的比较厉害的一个,属于一家美国的反向链接查询网站(WebMeUp)的蜘蛛程序,它会大量的抓取我们的网站链接,所以一旦我们发现有他的抓取的踪迹,就会发现他真的是大量的抓取你的链接。…

百度移动强引蜘蛛软件3.0

“百度移动强引蜘蛛”软件是由百度开发的一款移动应用程序,旨在帮助网站快速引入大量流量和提高网站排名。这款软件可以通过自动发送请求来模拟用户行为,从而提高网站在搜索引擎排名中的排名。 #软件截图: #使用说明: API代理…

搜索引擎蜘蛛喜欢什么样的网站?

想要让自己的网站在搜索引擎中拥有更好的排名,要吸引搜索引擎的蜘蛛爬行和抓取我们的网站,是seo优化中必不可少的一环。今天百万号快排系统的小编就给各位介绍一下如何让搜索引擎蜘蛛喜欢我们的网站。 知己知彼,我们首先要了解一下搜索引擎的…

最便宜买铅笔方案

题目描述 P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物。她发现商店一共有 33种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同。为了公平起 见,P老师决定只买同一种包装的铅笔。 商店不允许将铅笔的包装拆开&#xf…
最新文章