/// 扩展UIDevice
extension UIDevice {/// 获取设备具体详细的型号var modelName: String {var systemInfo = utsname()uname(&systemInfo)let machineMirror = Mirror(reflecting: systemInfo.machine)let identifier = machineMirror.children.reduce("") { identifier, element inguard let value = element.value as? Int8, value != 0 else {return identifier}return identifier + String(UnicodeScalar(UInt8(value)))}switch identifier {case "iPod1,1":return "iPod Touch 1G"case "iPod2,1":return "iPod Touch 2G"case "iPod3,1":return "iPod Touch 3G"case "iPod4,1":return "iPod Touch 4G"case "iPod5,1":return "iPod Touch 5G"case "iPod7,1":return "iPod Touch 6G"case "iPhone1,1":return "iPhone 2G"case "iPhone1,2":return "iPhone 3G"case "iPhone2,1":return "iPhone 3GS"case "iPhone3,1", "iPhone3,2", "iPhone3,3":return "iPhone 4"case "iPhone4,1":return "iPhone 4s"case "iPhone5,1":return "iPhone 5"case "iPhone5,2":return "iPhone 5 (GSM+CDMA)"case "iPhone5,3":return "iPhone 5c (GSM)"case "iPhone5,4":return "iPhone 5c (GSM+CDMA)"case "iPhone6,1":return "iPhone 5s (GSM)"case "iPhone6,2":return "iPhone 5s (GSM+CDMA)"case "iPhone7,2":return "iPhone 6"case "iPhone7,1":return "iPhone 6 Plus"case "iPhone8,1":return "iPhone 6s"case "iPhone8,2":return "iPhone 6s Plus"case "iPhone8,4":return "iPhone SE"/// "国行、日版、港行iPhone 7"case "iPhone9,1":return "iPhone 7"/// "港行、国行iPhone 7 Plus"case "iPhone9,2":return "iPhone 7 Plus"/// "美版、台版iPhone 7"case "iPhone9,3":return "iPhone 7"/// "美版、台版iPhone 7 Plus"case "iPhone9,4":return "iPhone 7 Plus"case "iPhone10,1":return "iPhone 8"case "iPhone10,4":return "iPhone 8"case "iPhone10,2":return "iPhone 8 Plus"case "iPhone10,5":return "iPhone 8 Plus"case "iPhone10,3":return "iPhone X"case "iPhone10,6":return "iPhone X"case "iPhone11,2":return "iPhone XS"case "iPhone11,4", "iPhone11,6":return "iPhone XS Max"case "iPhone11,8":return "iPhone XR"case "iPhone12,1":return "iPhone 11"case "iPhone12,3":return "iPhone 11 Pro"case "iPhone12,5":return "iPhone 11 Pro Max"case "iPhone13,1":return "iPhone 12 mini"case "iPhone13,2":return "iPhone 12"case "iPhone13,3":return "iPhone 12  Pro"case "iPhone13,4":return "iPhone 12  Pro Max"case "iPad1,1":return "iPod Touch 1G"case "iPad1,2":return "iPad 3G"case "iPad2,1", "iPad2,2", "iPad2,3", "iPad2,4":return "iPod Touch 2G"case "iPad2,5", "iPad2,6", "iPad2,7":return "iPad Mini 1G"case "iPad3,1", "iPad3,2", "iPad3,3":return "iPad 3"case "iPad3,4", "iPad3,5", "iPad3,6":return "iPad 4"case "iPad4,1", "iPad4,2", "iPad4,3":return "iPad Air"case "iPad4,4", "iPad4,5", "iPad4,6":return "iPad Mini 2"case "iPad4,7", "iPad4,8", "iPad4,9":return "iPad Mini 3"case "iPad5,1", "iPad5,2":return "iPad Mini 4"case "iPad5,3", "iPad5,4":return "iPad Air 2"case "iPad6,3", "iPad6,4":return "iPad Pro 9.7"case "iPad6,7", "iPad6,8":return "iPad Pro 12.9"case "AppleTV2,1":return "Apple TV 2"case "AppleTV3,1", "AppleTV3,2":return "Apple TV 3"case "AppleTV5,3":return "Apple TV 4"case "i386", "x86_64":return "iPhone 11 Pro"default:return "iPhone"}}}

如未及时更新,可查看:

iPhone所有机型

iOS Swift 判断手机机型 已更新 至iPhone12相关推荐

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

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

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

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

  3. 判断手机机型和浏览器内核

    一.判断浏览器内核类型 function getExplorerInfo() {var explorer = window.navigator.userAgent.toLowerCase() ;//i ...

  4. 微信小程序判断手机机型信息及dpr

    微信小程序判断手机机型信息及dpr=2.3 出现这个原因是因为手机dpr不同,导致在显示二维码时出现位置偏移.首先能想到的就是获取设备信息,根据不同机型而解决问题. 1.wxml 开控制位置间距var ...

  5. [Swift]判断手机设备是否插入SIM卡

    导入框架 import CoreTelephony 判断手机是否插入SIM卡 /// 判断手机是否插SIM卡 func judgeInsertSIM() -> Bool {let info = ...

  6. swift判断手机越狱代码和文件常用路径

    手机越狱以后会在下面路径里创建文件,把所有目录放到一个数组里面,然后判断是否存在,找到一个存在就判断手机已经越狱了 import UIKit class ViewController: UIViewC ...

  7. RomUtil【Android判断手机ROM,用于判断手机机型】

    参考资料 Android判断手机ROM 正文 有时候需要判断手机系统的ROM,检测ROM是MIUI.EMUI还是Flyme,可以使用getprop命令,去系统build.prop文件查找是否有对应属性 ...

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

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

  9. js判断手机机型,是否在华为、iphone、小米、三星打开

    判断打开目前的是什么手机品牌 要在业务里知道是页面通过什么平台打开的,在前端使用userAgent来进行判断.以下正文涉及3类:主流的手机品牌判断方法.是否在微信打开.是否在PC或Pad打开. 判断业 ...

最新文章

  1. 错误3 error C3859: 超过了 PCH 的虚拟内存范围;请使用“-Zm120”
  2. [算法]链表的逆序遍历节点
  3. [网络安全自学篇] 五十五.Windows系统安全之构建ROP链绕过DEP及原理详解
  4. MongoDB 教程四: 高级更改操作
  5. java-第五章-while=计算1~50中是7的被耍的数值之和
  6. Android开发笔记(一百零五)社会化分享SDK
  7. Vue中CSS模块化最佳实践
  8. matlab广州等温线地形图,MATLAB 画等温线.doc
  9. 基于java固定资产管理系统设计(含源文件)
  10. 读书笔记 摘自:《斯坦福极简经济学》
  11. 充值核销卡密恶意并发请求防止重复利用卡密充值成功解决方案
  12. PASCAL VOC 2007数据集,百度云下载
  13. Keil出现.\Flash\Blinky.axf: error: L6002U: Could not open file .\flash\system_lpc11xx.o: No such file
  14. 逻辑、认识论和本体论“三统一”
  15. PV操作(操作系统)
  16. android跳转到锁屏及后台管理界面,Android 锁屏状态下后台弹出界面
  17. Linux下根据用户ID查询用户名
  18. Tomcat环境搭建与常见问题详解
  19. slmgr.vbs -dlv 和slmgr.vbs -xpr查询win10激活的错误问题
  20. 星球前线 | Libra最大的竞争对手是什么?Calibra高管给出答案

热门文章

  1. 6.29在网上看到的关于魔戒掉入火山后的恶搞
  2. 任务栏右下角图标显示不全的解决办法
  3. IM即使通讯 一篇文章足够了
  4. 中国汽车差速器市场调研与投资战略报告(2021版)
  5. 苹果手机关闭自动更新_如果你用苹果手机,记得关闭这3个按钮,手机还再用4年...
  6. 零售版SAAS平台服务-专栏总目录(持续更新)
  7. IE浏览器,相见不如怀念
  8. 专访PMI总裁兼首席执行官贝格雷:企业应对金融危机的新路径
  9. 在Android上远程调试JavaScript
  10. 如何利用WPS文字引用参考文献