Apple 获取设备型号,包含iPad、iPhone、AirPods、AppleTV、iPod

453 阅读1分钟

DeviceInfo.plist文件可见链接

class func getDeviceInfo() -> (model: String) {
        if let bundlePath = Bundle.main.path(forResource: "DeviceInfo", ofType: "plist") {
            let dicData = NSDictionary(contentsOfFile: bundlePath) as! Dictionary<String, Any>
            var systemInfo = utsname()
            uname(&systemInfo)
            let platform = withUnsafePointer(to: &systemInfo.machine.0) { ptr in
                return String(cString: ptr)
            }
            guard let plat = dicData[platform] else {
                return ("iPhone")
            }
            return (plat as! String)
        }
        return ("iPhone")
    }