文章更新:2022.06.17 swift版本更新,OC未处理
# Swift
import AdSupport
///App 版本号
public var app_version: String {
get {
let infoDictionary = Bundle.main.infoDictionary ?? [:]
let version = (infoDictionary["CFBundleShortVersionString"] as? String) ?? ""
return version
}
}
///设备名称
public var device_name: String {
get {
return UIDevice.current.name
}
}
///设备类型 iPhone ipad
public var device_model: String {
get {
return UIDevice.current.model
}
}
///设备系统名称
public var device_system_name: String {
get {
return UIDevice.current.systemName
}
}
///设备系统版本号
public var device_system_version: String {
get {
return UIDevice.current.systemVersion
}
}
///设备设备的唯一标识 :卸载重装之后不会改变
public var identifier: String {
get {
return ASIdentifierManager.shared().advertisingIdentifier.uuidString
}
}
///设备类型名public var device_name: String {
get {
var systemInfo = utsname()
uname(&systemInfo)
let platform = withUnsafePointer(to: &systemInfo.machine.0) { ptr in
return String(cString: ptr)
}
switch platform {
//MARK: iPhone
case "iPhone7,2":
return "iPhone 6"
case "iPhone7,1":
return "iPhone 6 Plus"
case "iPhone8,1":
return "iPhone 6s"
case "iPhone8,2":
return "iPhone 6s Plus"
case "iPhone8,4":
return "iPhone SE (1st generation)"
case "iPhone9,1", "iPhone9,3":
return "iPhone 7"
case "iPhone9,2", "iPhone9,4":
return "iPhone 7 Plus"
case "iPhone10,1","iPhone10,4":
return "iPhone 8"
case "iPhone10,2","iPhone10,5":
return "iPhone 8 Plus"
case "iPhone10,3","iPhone10,6":
return "iPhone X"
case "iPhone11,8":
return "iPhone XR"
case "iPhone11,2":
return "iPhone XS"
case "iPhone11,6", "iPhone11,4":
return "iPhone XS Max"
case "iPhone12,1":
return "iPhone 11"
case "iPhone12,3":
return "iPhone 11 Pro"
case "iPhone12,5":
return "iPhone 11 Pro Max"
case "iPhone12,8":
return "iPhone SE (2nd generation)"
case "iPhone13,1":
return "iPhone 12 mini"
case "iPhone13,2":
return "iPhone 12"
case "iPhone13,3":
return "iPhone 12 Pro"
case "iPhone13,4":
return "iPhone 12 Pro Max"
case "iPhone14,4":
return "iPhone 13 mini"
case "iPhone14,5":
return "iPhone 13"
case "iPhone14,2":
return "iPhone 13 Pro"
case "iPhone14,3":
return "iPhone 13 Pro Max"
case "iPhone14,6"