转载自:https://gist.github.com/weekwood/4265890

UIDeviceHardware.h
Objective-C

12345678910111213
        
//
// UIDeviceHardware.h
//
// Used to determine EXACT version of device software is running on.
#import <Foundation/Foundation.h>
@interface UIDeviceHardware : NSObject
- (NSString *) platform;
- (NSString *) platformString;
@end
UIDeviceHardware.m
Objective-C

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
        
//
// UIDeviceHardware.m
//
// Used to determine EXACT version of device software is running on.
#import "UIDeviceHardware.h"
#include <sys/types.h>
#include <sys/sysctl.h>
@implementation UIDeviceHardware
- (NSString *) platform{
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithUTF8String:machine];
free(machine);
return platform;
}
- (NSString *) platformString{
NSString *platform = [self platform];
if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 1G";
if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G";
if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS";
if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4";
if ([platform isEqualToString:@"iPhone3,3"]) return @"Verizon iPhone 4";
if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S";
if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5 (GSM)";
if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5 (GSM+CDMA)";
if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c (GSM)";
if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c (GSM+CDMA)";
if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (GSM)";
if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s (GSM+CDMA)";
if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G";
if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G";
if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G";
if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G";
if ([platform isEqualToString:@"iPod5,1"]) return @"iPod Touch 5G";
if ([platform isEqualToString:@"iPad1,1"]) return @"iPad";
if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2 (WiFi)";
if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2 (GSM)";
if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2 (CDMA)";
if ([platform isEqualToString:@"iPad2,4"]) return @"iPad 2 (WiFi)";
if ([platform isEqualToString:@"iPad2,5"]) return @"iPad Mini (WiFi)";
if ([platform isEqualToString:@"iPad2,6"]) return @"iPad Mini (GSM)";
if ([platform isEqualToString:@"iPad2,7"]) return @"iPad Mini (GSM+CDMA)";
if ([platform isEqualToString:@"iPad3,1"]) return @"iPad 3 (WiFi)";
if ([platform isEqualToString:@"iPad3,2"]) return @"iPad 3 (GSM+CDMA)";
if ([platform isEqualToString:@"iPad3,3"]) return @"iPad 3 (GSM)";
if ([platform isEqualToString:@"iPad3,4"]) return @"iPad 4 (WiFi)";
if ([platform isEqualToString:@"iPad3,5"]) return @"iPad 4 (GSM)";
if ([platform isEqualToString:@"iPad3,6"]) return @"iPad 4 (GSM+CDMA)";
if ([platform isEqualToString:@"i386"]) return @"Simulator";
if ([platform isEqualToString:@"x86_64"]) return @"Simulator";
return platform;
}
@end
usage.txt
123
        
UIDeviceHardware *h=[[UIDeviceHardware alloc] init];
[self setDeviceModel:[h platformString]];
[h release];

UIDeviceHardware 最新的Ios设备配置表相关推荐

  1. 15行代码让苹果设备崩溃,最新的iOS 12也无法幸免

    安全研究人员Sabri Haddouche发现了一个只需几行代码就可以让iPhone崩溃并重启的方法. \\ Sabri Haddouche在GitHub上发布了一个示例网页,只有15行代码,如果在i ...

  2. 【2014最新】iOS App 提交上架store 详细流程

    [2014最新]iOS App 提交上架store 详细流程 一.证书的导出 1.1.前期工作 首先你需要有一个苹果的开发者帐号,一个Mac系统. 如果没有帐号可以在打开http://develope ...

  3. 2021年最新考勤记录表排表小工具

    2021年最新考勤记录表排表小工具简介 本工具可以自动将考勤记录表 按人与日期排序转化 重新输出Excel,输出的Excel可以直接打印(横向每页三人考勤) [行政人事必备之神器] 每月考勤表制作工具 ...

  4. 唯众综合布线实训室设备配置表

    唯众综合布线实训室设备配置表 转载至http://www.whwzzc.com/main/recentNews?id=26&type=solution

  5. c语言编译值班表周一至周六,DNF:最新副本排班表,周一到周日,每天该打哪些副本?...

    原标题:DNF:最新副本排班表,周一到周日,每天该打哪些副本? DNF地下城与勇士的各位小伙伴大家好,我是DNF阿洋,今天要给大家带来的是一期DNF的排班表,方便大家更直观的了解副本的刷新时间,合理的 ...

  6. 请把ios文件解压出来是什么意思_手机资讯:最新屏蔽 iOS升级弹窗的 2 种方法

    如今使用IT数码设备的小伙伴们是越来越多了,那么IT数码设备当中是有很多知识的,这些知识很多小伙伴一般都是不知道的,就好比最近就有很多小伙伴们想要知道最新屏蔽 iOS升级弹窗的 2 种方法,那么既然现 ...

  7. iOS中 Bugly iOS 符号表手动配置详细教程 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博!iOS开发者交流QQ群: 446310206 官方教程 官方的符号表工具iOS文档版­使用指南不是很详细,于是自己动 ...

  8. 苹果最新发布iOS 5 全部机型都有 下载吧

    美国当地时间10月12日上午,北京时间13日凌晨,苹果终于放出了iPhone.iPad.iPod touch用户翘首期盼的年度最重量级操作系统升级.iOS 5目前已经开始通过今天早些时候发布的iTun ...

  9. 写一个 iOS 复杂表单的正确姿势

    前言 这几天项目的新需求中有个复杂的表单界面,在做的过程中发现要比想象中复杂很多,有好多问题需要处理.有很多东西值得写下来好好梳理下. 需求分析: 6创建网店1.png 上图便是UI根据需求给的高保真 ...

最新文章

  1. datagrid底部显示水平滚动_DevExpress WPF v19.1:Data Grid/Tree List等控件功能增强
  2. python如何控制程序的运行顺序_Python流程控制-1 顺序执行
  3. BestCoder Round #65 B C D || HDU 5591 5592 5593
  4. We Chall-Training: Get Sourced-Writeup
  5. 数据分析不落地?典型案例教会你!
  6. ABP VNext 微服务演示,项目状态和路线图
  7. alxctools索引超出了数组界限_[译]V8中的数组类型
  8. Python - 装饰器
  9. 1024 许个愿吧,万一实现了呢?
  10. 小米4391人获1.749亿股股票的激励
  11. Echarts.js+jquery.js+china.js实现中国疫情地图
  12. Xcode 证书生成、设置、应用
  13. lowagie.text 表格带复杂表头 导出word
  14. EndNoteX9插入参考文献
  15. 长三角江浙沪有影响力的调查研究咨询公司
  16. 【golang】aws s3 go sdk
  17. 微信棋牌源码虚拟机搭建Hadoop集群
  18. html 手指状态,HTML5技术教程 手指按下和手指抬起触发事件
  19. 使用ros从realsence相机中获取图像
  20. 北京医保可报销的定点医院

热门文章

  1. 国内油价迎年内最小降幅:92号汽油下跌0.07元/升
  2. 数据库命名规范--通用
  3. 高通平台 Sensor 调试技巧 01
  4. octomap::OcTree的学习笔记
  5. 以太坊小知识(五)——difficulty、totalDifficulty、cumulativeGasUsed、gasUsed
  6. 35岁的程序员的出路个人总结
  7. css预处理器 sass和stylus对比以及常用功能
  8. gnuplot绘图技巧
  9. 数据中心低压配电系统能耗分析与PUE计算
  10. 新品首发 | 洛必德进军智慧家庭服务领域,聚焦大健康养老行业