美文网首页
swift获取设备型号

swift获取设备型号

作者: 天蚕 | 来源:发表于2016-03-15 14:48 被阅读142次

    获取Apple设备信息的方法,经常会用到,没有什么技术含量,但是很麻烦,抽出来供大家使用,这是github的地址https://github.com/tiancanfei/ADDeviceTool,会实时更新,下面是代码:

    public struct ADDeviceTool {
        //MARK: -  获取设备类型
        //deviceType设备类型获取地址https://www.theiphonewiki.com/wiki/Models
        
        public static func getDevieceType() -> String
        {
            var systemInfo = utsname()
            
            uname(&systemInfo)
            
            let deviceString = withUnsafePointer(to: &systemInfo.machine, { (ptr) -> String? in
                let deviceChars = unsafeBitCast(ptr, to: UnsafePointer<CChar>.self)
                return String.init(cString: deviceChars, encoding: .utf8)
            })
            
            let deviceType = [//AirPods(耳机)
                              "AirPods1,1" :  "AirPods",
                              //Apple TV
                              "AppleTV2,1" :  "Apple TV (2nd generation)",
                              "AppleTV3,1" :  "Apple TV (3rd generation)",
                              "AppleTV3,2" :  "Apple TV (3rd generation)",
                              "AppleTV5,3" :  "Apple TV (4th generation)",
                              "AppleTV6,2" :  "Apple TV 4K",
                              //Apple Watch(手表)
                              "Watch1,1" :  "Apple Watch (1st generation)",
                              "Watch1,2" :  "Apple Watch (1st generation)",
                              "Watch2,6" :  "Apple Watch Series 1",
                              "Watch2,7" :  "Apple Watch Series 1",
                              "Watch2,3" :  "Apple Watch Series 2",
                              "Watch2,4" :  "Apple Watch Series 2",
                              "Watch3,1" :  "Apple Watch Series 3",
                              "Watch3,2" :  "Apple Watch Series 3",
                              "Watch3,3" :  "Apple Watch Series 3",
                              "Watch3,4" :  "Apple Watch Series 3",
                              //HomePod(音响)
                              "AudioAccessory1,1" :  "HomePod",
                              //iPad
                              "iPad1,1"   :  "iPad1",
                              "iPad2,1"   :  "iPad2",
                              "iPad2,2"   :  "iPad2",
                              "iPad2,3"   :  "iPad2",
                              "iPad2,4"   :  "iPad2",
                              "iPad3,1"   :  "iPad3",
                              "iPad3,2"   :  "iPad3",
                              "iPad3,3"   :  "iPad3",
                              "iPad3,4"   :  "iPad4",
                              "iPad3,5"   :  "iPad4",
                              "iPad3,6"   :  "iPad4",
                              "iPad4,1"   :  "iPad Air",
                              "iPad4,2"   :  "iPad Air",
                              "iPad4,3"   :  "iPad Air",
                              "iPad5,3"   :  "iPad Air 2",
                              "iPad5,4"   :  "iPad Air 2",
                              "iPad6,7"   :  "iPad Pro (12.9-inch)",
                              "iPad6,8"   :  "iPad Pro (12.9-inch)",
                              "iPad6,3"   :  "iPad Pro (9.7-inch)",
                              "iPad6,4"   :  "iPad Pro (9.7-inch)",
                              "iPad6,11"  :  "iPad (5th generation)",
                              "iPad6,12"  :  "iPad (5th generation)",
                              "iPad7,1"   :  "iPad Pro (12.9-inch, 2nd generation)",
                              "iPad7,2"   :  "iPad Pro (12.9-inch, 2nd generation)",
                              "iPad7,3"   :  "iPad Pro (10.5-inch)",
                              "iPad7,4"   :  "iPad Pro (10.5-inch)",
                              //iPad mini
                              "iPad2,5"   :  "iPad mini",
                              "iPad2,6"   :  "iPad mini",
                              "iPad2,7"   :  "iPad mini",
                              "iPad4,4"   :  "iPad mini 2",
                              "iPad4,5"   :  "iPad mini 2",
                              "iPad4,6"   :  "iPad mini 2",
                              "iPad4,7"   :  "iPad mini 3",
                              "iPad4,8"   :  "iPad mini 3",
                              "iPad4,9"   :  "iPad mini 3",
                              "iPad5,2"   :  "iPad mini 4",
                              //iPhone(手机)
                              "iPhone1,1" :  "iPhone",
                              "iPhone1,2" :  "iPhone3G",
                              "iPhone2,1" :  "iPhone3GS",
                              "iPhone3,1" :  "iPhone4",
                              "iPhone3,2" :  "iPhone4",
                              "iPhone3,3" :  "iPhone4",
                              "iPhone4,1" :  "iPhone4S",
                              "iPhone5,1" :  "iPhone5",
                              "iPhone5,2" :  "iPhone5",
                              "iPhone5,3" :  "iPhone5C",
                              "iPhone5,4" :  "iPhone5C",
                              "iPhone6,1" :  "iPhone5S",
                              "iPhone6,2" :  "iPhone5S",
                              "iPhone7,2" :  "iPhone6",
                              "iPhone7,1" :  "iPhone6 Plus",
                              "iPhone8,1" :  "iPhone6s",
                              "iPhone8,2" :  "iPhone6s Plus",
                              "iPhone10,3" :  "iPhone X",
                              "iPhone10,6" :  "iPhone X",
                              //iPod
                              "iPod1,1"   :  "iPod touch",
                              "iPod2,1"   :  "iPod touch (2nd generation)",
                              "iPod3,1"   :  "iPod touch (3rd generation)",
                              "iPod4,1"   :  "iPod touch (4th generation)",
                              "iPod5,1"   :  "iPod touch (5th generation)",
                              "iPod7,1"   :  "iPod touch (6th generation)",
                              ]
            
            
            if let deviceStringKey = deviceString
            {
                if deviceStringKey.hasPrefix("x86")
                {
                    return "iPhone模拟器,Mac"
                }
                else
                {
                    if let deviceTypeString = deviceType[deviceStringKey]
                    {
                        return deviceTypeString
                    }
                }
            }
    
            return "iPhone新机型"
            
        }
    }
    
    
    

    相关文章

      网友评论

          本文标题:swift获取设备型号

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