美文网首页
iOS设备标识与名称 官方对应关系 的 确认办法

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

作者: Chriszzzz | 来源:发表于2019-10-08 11:51 被阅读0次

    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】的表格,如下图

    iPhone设备信息表

    2.3 查看讯息

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

    查看讯息

    2.4 查看其他设备种类

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

    3 我来帮你做

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

    3.1 获取设备名称

    #import <CYToolkit/CYToolkit.h>
    
    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设备标识与名称 官方对应关系 的 确认办法

          本文链接:https://www.haomeiwen.com/subject/uiqdyctx.html