iOS设备标识与名称 官方对应关系 的 确认办法

1 背景

做过 iOS 开发的都知道,iOS 有一套内部的 机型ID定义,我们期望 获取iphone的设备名称 的时候,一般通过这套 内部的机型ID 进行映射,比如:

iPhone9,1 --> iPhone 7
iPhone9,2 --> iPhone 7 Plus
iPhone10,3 --> iPhone X
iPhone11,8 --> iPhone XR
iPad7,6 --> iPad 6
Watch4,2, Apple Watch Series 4

那么,每当有新的苹果设备出现时候,必要时候我们需要更新这张映射表。通常我们的做法是:
去百度搜索 “iOS设备映射”,然后找到一些同道的总结的代码

但是,我们怎么 保证这些映射的正确性 呢?
(我在网上就搜索到过错误的映射代码)
答案当然是 对比官宣的讯息

2 确认官方映射

2.1 打开下述iPhoneWiki的链接

iPhone Wiki - Models

2.2 找到设备信息表

比如我们想查看iPhone的设备型号映射,则先找到【iPhone】的表格,如下图

iOS设备标识与名称 官方对应关系 的 确认办法_第1张图片
iPhone设备信息表

2.3 查看讯息

其中Identifier、Generation 两列即为我们关注的映射前后的讯息。

iOS设备标识与名称 官方对应关系 的 确认办法_第2张图片
查看讯息

2.4 查看其他设备种类

同理,确认 iPad 的对应、iWatch 的设备型号对应关系 只要在该页面中找到它们对应的表格就好了。

3 我来帮你做

代码未必要自己写了,你可以选择使用一些 第三方工具包提供的 接口支持 来支持 iOS 设备型号的映射。
比如,笔者维护的 CYToolkit 就有这样的支持。

3.1 获取设备名称

#import 

NSString *phoneName = [UIDevice cyPhoneTypeString];

3.2 CYToolkit Pod集成参考

pod 'CYToolkit', :git => 'https://github.com/chrisYooh/CYToolkit.git', :commit => 'a715e63'

3.3 CYToolkit 部分亮点

CYToolkit 作为一个工具包,里面还有很多其他 常用的 有趣的 扩展函数支持,比如:

// aImageView 是一个UIImageView 实例
// cyPreviewImage 可以让UIImageView中的Image像微信内点击图片一样进行大图的预览查看
[aImageView cyPreviewImage]

// cyShowToast 可以进行3秒的 toast提示
[UIView cyShowToast:@"网络加载中……"]

// aDate 是一个 NSDate 实例
// cyDateTimeString 可以将一个 NSDate 实例转化为类似 2019-02-05 18:33:21 的字符串
NSString *dateTimeStr = [aDate cyDateTimeString];

感觉好用的可以给我点个赞哦!
(无论是还是github!!!)

你可能感兴趣的:(iOS设备标识与名称 官方对应关系 的 确认办法)