| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- //
- // QSLDeviceTool.swift
- // QuickSearchLocation
- //
- // Created by mac on 2024/4/10.
- //
- import Foundation
- import UIKit
- import AdSupport
- /// 设备各种信息
- class QSLDeviceTool: NSObject {
-
- // MARK: 1、App 名称
- /// App 名称
- var appDisplayName: String {
- return (Bundle.main.infoDictionary!["CFBundleDisplayName"] as? String) ?? ""
- }
-
- // MARK: 2、App 平台 安卓为1 iOS为2
- /// App 平台
- var platform: Int {
- return 2;
- }
-
- // MARK: 3、渠道名称
- /// 渠道名称
- var channelName: String {
- return "appstore";
- }
-
- // MARK: 4、版本
- /// 版本
- var OSVersion: String {
- return String.init(format: "%@%@", UIDevice.current.systemName, UIDevice.current.systemVersion)
- }
-
- // MARK: 5、包名
- /// 包名
- var packageName: String {
- return Bundle.appBundleIdentifier;
- }
-
- // MARK: 6、版本号 1.0.0
- /// 版本号
- var appVersionName: String {
- return Bundle.appVersion;
- }
-
- // MARK: 6、版本号 100
- /// 版本号
- var appVersionCode: String {
- let versionSubStrings = self.appDisplayName.components(separatedBy: ".")
- var versionCode = ""
- for subString in versionSubStrings {
- versionCode.append(subString)
- }
- if versionSubStrings.count < 3 {
- versionCode.append("0")
- }
- return versionCode
- }
-
- // MARK: 7、品牌
- /// 品牌
- var brand: String {
- return "Apple"
- }
-
- // MARK: 8、idfa
- /// idfa
- var idfa: String {
- return ASIdentifierManager.shared().advertisingIdentifier.uuidString;
- }
-
- // MARK: 8、idfv
- /// idfv
- var idfv: String {
- return UIDevice.current.identifierForVendor?.uuidString ?? "";
- }
-
- // MARK: 9、型号
- /// 型号
- var model: String {
- var systemInfo = utsname()
- uname(&systemInfo)
- let machineMirror = Mirror(reflecting: systemInfo.machine)
- let identifier = machineMirror.children.reduce("") { identifier, element in
- guard let value = element.value as? Int8, value != 0 else { return identifier }
- return identifier + String(UnicodeScalar(UInt8(value)))
- }
- return identifier
- }
- }
|