技术标签: iphone型号表
2019年9月新增设备
iPhone 11 , iPhone 11 Pro, iPhone 11 Pro Max
//获得设备型号
+ (NSString *)getCurrentDevice
{
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);
// iPhone
if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone2G";
if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone3G";
if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone3GS";
if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone4";
if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone4";
if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone4";
if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone4S";
if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone5";
if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone5";
if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone5c";
if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone5c";
if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone5s";
if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone5s";
if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone6";
if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone6Plus";
if ([platform isEqualToString:@"iPhone8,1"]) return @"iPhone6s";
if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone6sPlus";
if ([platform isEqualToString:@"iPhone8,3"]) return @"iPhoneSE";
if ([platform isEqualToString:@"iPhone8,4"]) return @"iPhoneSE";
if ([platform isEqualToString:@"iPhone9,1"]) return @"iPhone7";
if ([platform isEqualToString:@"iPhone9,2"] ||
[platform isEqualToString:@"iPhone9,4"]) return @"iPhone7Plus";
if ([platform isEqualToString:@"iPhone10,1"] ||
[platform isEqualToString:@"iPhone10,4"]) return @"iPhone 8";
if ([platform isEqualToString:@"iPhone10,2"] ||
[platform isEqualToString:@"iPhone10,5"]) return @"iPhone 8 Plus";
if ([platform isEqualToString:@"iPhone10,3"] ||
[platform isEqualToString:@"iPhone10,6"]) return @"iPhone X";
if ([platform isEqualToString:@"iPhone11,8"]) return @"iPhone XR";
if ([platform isEqualToString:@"iPhone11,2"]) return @"iPhone XS";
if ([platform isEqualToString:@"iPhone11,4"] ||
[platform isEqualToString:@"iPhone11,6"]) return @"iPhone XS Max";
if ([platform isEqualToString:@"iPhone12,1"]) return @"iPhone 11";
if ([platform isEqualToString:@"iPhone12,3"]) return @"iPhone 11 Pro";
if ([platform isEqualToString:@"iPhone12,5"]) return @"iPhone 11 Pro Max";
//iPod Touch
if ([platform isEqualToString:@"iPod1,1"]) return @"iPodTouch";
if ([platform isEqualToString:@"iPod2,1"]) return @"iPodTouch2G";
if ([platform isEqualToString:@"iPod3,1"]) return @"iPodTouch3G";
if ([platform isEqualToString:@"iPod4,1"]) return @"iPodTouch4G";
if ([platform isEqualToString:@"iPod5,1"]) return @"iPodTouch5G";
if ([platform isEqualToString:@"iPod7,1"]) return @"iPodTouch6G";
//iPad
if ([platform isEqualToString:@"iPad1,1"]) return @"iPad";
if ([platform isEqualToString:@"iPad2,1"]) return @"iPad2";
if ([platform isEqualToString:@"iPad2,2"]) return @"iPad2";
if ([platform isEqualToString:@"iPad2,3"]) return @"iPad2";
if ([platform isEqualToString:@"iPad2,4"]) return @"iPad2";
if ([platform isEqualToString:@"iPad3,1"]) return @"iPad3";
if ([platform isEqualToString:@"iPad3,2"]) return @"iPad3";
if ([platform isEqualToString:@"iPad3,3"]) return @"iPad3";
if ([platform isEqualToString:@"iPad3,4"]) return @"iPad4";
if ([platform isEqualToString:@"iPad3,5"]) return @"iPad4";
if ([platform isEqualToString:@"iPad3,6"]) return @"iPad4";
//iPad Air
if ([platform isEqualToString:@"iPad4,1"]) return @"iPadAir";
if ([platform isEqualToString:@"iPad4,2"]) return @"iPadAir";
if ([platform isEqualToString:@"iPad4,3"]) return @"iPadAir";
if ([platform isEqualToString:@"iPad5,3"]) return @"iPadAir2";
if ([platform isEqualToString:@"iPad5,4"]) return @"iPadAir2";
//iPad pro
if ([platform isEqualToString:@"iPad6,3"]) return @"iPadPro";
if ([platform isEqualToString:@"iPad6,4"]) return @"iPadPro";
if ([platform isEqualToString:@"iPad6,7"]) return @"iPadPro";
if ([platform isEqualToString:@"iPad6,8"]) return @"iPadPro";
if ([platform isEqualToString:@"iPad6,11"] ||
[platform isEqualToString:@"iPad6,12"]) return @"iPad 5";
if ([platform isEqualToString:@"iPad7,1"] ||
[platform isEqualToString:@"iPad7,2"]) return @"iPad Pro 12.9-inch 2";
if ([platform isEqualToString:@"iPad7,3"] ||
[platform isEqualToString:@"iPad7,4"]) return @"iPad Pro 10.5-inch";
//iPad mini
if ([platform isEqualToString:@"iPad2,5"]) return @"iPadmini1G";
if ([platform isEqualToString:@"iPad2,6"]) return @"iPadmini1G";
if ([platform isEqualToString:@"iPad2,7"]) return @"iPadmini1G";
if ([platform isEqualToString:@"iPad4,4"]) return @"iPadmini2";
if ([platform isEqualToString:@"iPad4,5"]) return @"iPadmini2";
if ([platform isEqualToString:@"iPad4,6"]) return @"iPadmini2";
if ([platform isEqualToString:@"iPad4,7"]) return @"iPadmini3";
if ([platform isEqualToString:@"iPad4,8"]) return @"iPadmini3";
if ([platform isEqualToString:@"iPad4,9"]) return @"iPadmini3";
if ([platform isEqualToString:@"iPad5,1"]) return @"iPadmini4";
if ([platform isEqualToString:@"iPad5,2"]) return @"iPadmini4";
if ([platform isEqualToString:@"i386"]) return @"iPhoneSimulator";
if ([platform isEqualToString:@"x86_64"]) return @"iPhoneSimulator";
return @"Unknown";
}
iPhone:
机型
像素
比例
ppi
尺寸
机型代码
发布时间
iPhone XR
1792×828
19.5:9
326
6.1
iPhone11,8
2018.09
iPhone XS Max
2688×1242
18:9
458
6.5
iPhone11,4 iPhone11,6
2018.09
iPhone XS
2436×1125
18:9
458
5.8
iPhone11,2
2018.09
iPhone X
2436×1125
18:9
458
5.8
iPhone10,3 iPhone10,6
2017.09
iPhone 8 plus
1920×1080
16:9
401
5.5
iPhone10,2 iPhone10,5
2017.09
iPhone 8
1334×750
16:9
401
4.7
iPhone10,1 iPhone10,4
2017.09
iPhone 7 plus
1920×1080
16:9
401
5.5
iPhone9,2 iPhone9,4
2016.09
iPhone 7
1334×750
16:9
401
4.7
iPhone9,1 iPhone9,3
2016.09
iPhone 5 SE
1136×640
16:9
401
4.0
iPhone8,4
2016.03
iPhone 6s plus
1920×1080
16:9
401
5.5
iPhone8,1
2015.09
iPhone 6s
1334×750
16:9
401
4.7
iPhone8,2
2015.09
iPhone 6 plus
1920×1080
16:9
401
5.5
iPhone7,1
2014.09
iPhone 6
1334×750
16:9
401
4.7
iPhone7,2
2014.09
iPhone 5s
1136×640
16:9
326
4.0
iPhone6,1 iPhone6,2
2013.09
iPad:
机型
逻辑分辨率
Scale
物理分辨率
比例
ppi
尺寸
型号代码
发布时间
iPad 5
1024×768
@2x
2048×1536
4:3
264
9.7
iPad6,11 iPad6,12
2017.03
iPad 4
1024×768
@2x
2048×1536
4:3
264
9.7
iPad3,4 iPad3,5 iPad3,6
2012.10
iPad 3
1024×768
@2x
2048×1536
4:3
264
9.7
iPad3,1 iPad3,2 iPad3,3
2012.03
iPad 2
1024×768
@1x
1024×768
4:3
163
9.7
iPad2,1 iPad2,2 iPad2,3 iPad2,4
2011.03
iPad
1024×768
@1x
1024×768
4:3
163
9.7
iPad1,1
2010.01
iPad Air:
机型
逻辑分辨率
Scale
物理分辨率
比例
ppi
尺寸
型号代码
发布时间
iPad Air
1024×768
@2x
2048×1536
4:3
264
9.7
iPad4,1 iPad4,2 iPad4,3
2013.10
iPad Air 2
1024×768
@2x
2048×1536
4:3
264
9.7
iPad5,3 iPad5,4
2014.10
iPad Pro:
机型
逻辑分辨率
Scale
物理分辨率
比例
ppi
尺寸
型号代码
发布时间
iPad Pro 10.5
1112×834
@2x
2224×1668
4:3
264
10.5
iPad7,3 iPad7,4
2017
iPad Pro 12.9-inch 2
1366×1024
@2x
2732×2048
4:3
264
12.9
iPad7,1 iPad7,2
2017
iPad Pro 9.7-inch
1024×768
@2x
2048×1536
4:3
264
9.7
iPad6,3 iPad6,4
2016.03
iPad Pro 12.9-inch
1366×1024
@2x
2732×2048
4:3
264
12.9
iPad6,7 iPad6,8
2015.09
iPad Mini:
机型
逻辑分辨率
Scale
物理分辨率
比例
ppi
尺寸
型号代码
发布时间
iPad mini 4
1024×768
@2X
2048×1536
4:3
326
7.9
iPad5,1 iPad5,2 iPad4,9
2015.09
iPad mini 3
1024×768
@2X
2048×1536
4:3
326
7.9
iPad4,7 iPad4,8 iPad4,9
2014.10
iPad mini 2
1024×768
@2X
2048×1536
4:3
326
7.9
iPad4,5 iPad4,6 iPad4,7
2013.10
iPad mini
1024×768
@1X
1024×768
4:3
163
7.9
iPad2,5 iPad2,6 iPad2,7
2012.10
Samulitor:
机型
型号代码
Simulator
i386、x86_64
Unknown
文章浏览阅读4.1k次。TensorFlow里,shape=(?, 120)里的问号是怎么回事呢125self.cos_sim(1024,51)Tensor("cosine-imilarity-layer/mul_2:0",shape=(1024,51),dtype=float32)126type(self.query_batch):<class'tensorflow...._tf shape为什么有问号
文章浏览阅读5.5k次,点赞2次,收藏10次。目录前言一、注册声卡顺序二、SPK喇叭路由配置三、tinyalsa调试工具前言瑞芯微RK809是一种复杂的功率管理集成电路(PMIC)集成编解码器,适用于由外部电源供电的多核系统应用;同时它也集成了音频编解码器,这样在硬件设计上可以直接使用RK809 codec功能,不必再外挂个其他codec芯片;RK809 codec不仅支持SPK,还支持耳机,MIC功能;一、注册声卡顺序设备树dts里面原厂帮我们配置好了rk809_sound,我们直接..._rk3568 喇叭左右声道问题
文章浏览阅读1.8k次。验证码是一个非常常见的东西,基本上每一个做web开发的程序员都会遇到。本文介绍两种验证码的生成方式。一种是后台生成验证码,一种是前台直接生成验证码在spring MVC模式 中,后台生成生成验证码传递到前台。后台代码:import java.awt.Color;import java.awt.Graphics;import java.awt.image.BufferedImag_""
文章浏览阅读1.3k次,点赞2次,收藏8次。目录1、安装准备2、安装3、网络配置4、远程连接安装准备VMware16转载 - Linux>>CentOS 7镜像下载安装转载 - VMware 16 安装 CentOS 7.9 详细图文教程注意1、以下不要选,我选了启动不了虚拟机2、若在安装时配置网络,网关、掩码参数需要确定网络配置:连通网络,设置静态IP初始状态:ping不通百度、IP地址为空、网卡配置文件也是默认配置方法方法一:安装时配置,如上述教程方法二:安装后进入系统配置1、_远程访问vm16虚拟机
文章浏览阅读323次。JDBC的PreparedStatement是预编译的Statement,防止SQL注入,由于是预编译的,查询一次之后放到数据库的缓存,下次执行时发现相同,所以执行效率高。_java连接数据库用什么api好
文章浏览阅读69次。<title>js类型</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> <script type="text/javascript"> //num为number类型 v..._ajax增强
文章浏览阅读2.2k次,点赞2次,收藏10次。如何去看开源项目_开源项目哪里找
文章浏览阅读8.3k次,点赞8次,收藏34次。硬件时间,也被称为实时时钟(RTC),是指计算机主板上的一个独立于操作系统的设备,它在电源关闭甚至断电情况下也能保持运行。其功能是记录当前的日期和时间。系统时间是计算机内部使用的时间,它通常在启动时从RTC设置,然后由系统时钟进行跟踪。系统时钟是操作系统内核的一部分,可以以毫秒或纳秒级别提供精确时间。本地时间是系统时间经过时区转换后的时间。时区是根据地理位置确定的,全球分为24个时区,每个时区大约代表15度的经度。例如,北京时间是UTC+8,而伦敦时间是UTC+0。时区是为了方便统一时间而划分的地理区域。_rtc time
文章浏览阅读6.7k次,点赞2次,收藏34次。小编在这里提供2种方法去获取股票数据,第一种通过使用第三方平台提供的方法来获取到所需要的股票历史数据。第二种通过接口使用代码获取实时的股票数据_哪里有股票的历史实时数据
文章浏览阅读570次,点赞7次,收藏9次。Ecology9复写组件,E9隐藏明细表列,E9隐藏明细表栏,泛微隐藏明细表列_泛微oa根据主表选择按钮隐藏明细表列
文章浏览阅读1w次,点赞5次,收藏61次。https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/106368395趋势预测在很多应用场景中都会起到至关重要的作用,比如淘宝商家会考虑库存量应该保持在多少才能够满足客户需求,商场希望得知假期会迎来多大的客流量以安排系列活动,机场想要预测五一黄金周会有多大的客运量来做相应的应急部署等。在智能运维领域,趋势预测同样具有一定的理论意义和实际应用价值。趋势预测在运维场景中的应用背景在实时监控系统中会采集到大量的数据,有些数据具有周期性等时_趋势预测算法 csdn
文章浏览阅读713次,点赞23次,收藏21次。摘要本文提出了一种基于神经网络的(NN-based)数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的跟踪问题。控制目标是使系统的输出在每次迭代过程中跟踪参考轨迹。因此,在每次迭代过程的每个相对时间点上,使用广义回归神经网络(GRNN)作为估计器来解决系统的关键参数,并使用径向基函数神经网络(RBFNN)作为控制器来解决控制输入。