如何确定当前的苹果设备型号?

Posted

技术标签:

【中文标题】如何确定当前的苹果设备型号?【英文标题】:How to determine the current Apple device model number? 【发布时间】:2021-02-18 21:33:08 【问题描述】:

我知道 Stack Overflow 上有很多类似的问题(例如,this one)。但我想确定 Apple 设备型号,而不是型号名称。它应该是 A1823 或 A2404 之类的字符串。

【问题讨论】:

【参考方案1】:

如果您不费心摆弄私有 API,那么

extension UIDevice 
    var modelNumber: String? 
        let getModelNumber: (Selector) -> String? = 
            return UIDevice.current.perform($0, with: "ModelNumber")?.takeUnretainedValue() as? String
        
        let _deviceInfoKeySel = NSSelectorFromString("_deviceInfoForKey:")
        let deviceInfoKeySel = NSSelectorFromString("deviceInfoForKey:")
        if UIDevice.current.responds(to: _deviceInfoKeySel) 
            return getModelNumber(_deviceInfoKeySel)
         else if UIDevice.current.responds(to: deviceInfoKeySel) 
            return getModelNumber(deviceInfoKeySel)
         
        return nil
    

【讨论】:

谢谢。但是对于我的 iPad mini 4 UIDevice.current.modelNumber 在我期望 A1538 时返回 MK9P2 哦,这似乎是订单号。我无法弄清楚获得所需型号的正确密钥是什么。在这里你可以找到Order Number mapping to Model Number。请注意,如果您使用此 API,您的应用可能会在 AppStore 上被拒绝

以上是关于如何确定当前的苹果设备型号?的主要内容,如果未能解决你的问题,请参考以下文章

怎么修改设备管理器CPU型号

iOS获取设备型号设备类型等信息

快自查!这3个型号的iPhone有故障!苹果官方确认了!

苹果手机型号对应表

如何通过代码查找iPhone / iPod设备型号(3G,3GS,4,4S)? [重复]

如何查看UDID 怎么查看UDID 苹果设备UDID怎么查