美文网首页花落√莫相思swift
50-Swift 之应用信息&设备信息的获取

50-Swift 之应用信息&设备信息的获取

作者: NetWork小贱 | 来源:发表于2017-07-24 17:30 被阅读22次

    一、前言

                 目前在App开发中,应用信息& 设备信息的获取变的必要了。例如:为了解决App崩溃,开发人员就会获取用户设备信息和应用的信息提交到一个地方,然后进行分析...等。那么怎么获取应用信息和设备信息呢?

    二 、应用信息的获取

    /**
     获取应用信息
     */
    let ApplicationInfoDictionary = Bundle.main.infoDictionary
    print(ApplicationInfoDictionary!)
    
    /**
     获取应用的名字
     */
    let ApplicationName = ApplicationInfoDictionary?["CFBundleDisplayName"]
    print(ApplicationName!)
    
    /**
     应用系统的版本
     */
    let AppSystemVersion = ApplicationInfoDictionary?["MinimumOSVersion"]
    print(AppSystemVersion!)
    
    /**
     设备的SDK的 名字
     */
    let DeviceName = ApplicationInfoDictionary?["DTSDKName"]
    print(DeviceName!)
    
    /**
     平台的名字
     */
    let PlatName = ApplicationInfoDictionary?["DTPlatformName"]
    print(PlatName!)
    
    /**
     平台的版本
     */
    let PlatVersion = ApplicationInfoDictionary?["DTPlatformVersion"]
    print(PlatVersion!)
    
    /**
     设备的语言
     */
    let AppLanguage = ApplicationInfoDictionary?["CFBundleDevelopmentRegion"]
    print(AppLanguage!)
    
    
    /**
     App的Identifier表示
     该束的唯一标识字符串,该字符串的格式类似 com.yourcompany.yourapp,如果使⽤用模拟器跑你的应用,这个字段没有用处,如果你需要把你的应⽤部署到设备上,你必须⽣成一个证书,⽽而在⽣生成证书的时候,在apple的⽹网站上需要增加相应的app IDs.这⾥有一个字段Bundle identidier,如果这个Bundle identidier是一个完整字符串,那么文件中的这个字段必须和后者完全相同,如果app IDs中的字段含有通配符*,那么文件中的字符串必须符合后者的描述。
     */
    let AppIdentifier = ApplicationInfoDictionary?["CFBundleIdentifier"]
    print(AppIdentifier!)
    
    
    /**
     App 的版本
     */
    let AppVersion = ApplicationInfoDictionary?["CFBundleShortVersionString"]
    print(AppVersion!)
    
    
    
    /**
     App 的内部版本
     */
    let AppInternalVersion = ApplicationInfoDictionary?["CFBundleVersion"]
    print(AppInternalVersion!)
    
    
    
    /**
     App 所支持的方向
     */
    let AppSupportDirection = ApplicationInfoDictionary?["UISupportedInterfaceOrientations"]
    print(AppSupportDirection!)
    
    
    
    /**
     获取应用工程的名字
     */
    let AppProjectName = ApplicationInfoDictionary?["CFBundleName"]
    print(AppProjectName!)
    
    
    /**
     获取应用支持的设备
     UIDeviceFamily 设置是一个字符串数组。每个字符串都定义受支持的设备。<string>1</string> 设置定义对 iPhone 和 iPod Touch 的支持。<string>2</string> 设置定义对 iPad 的支持。
     */
    let AppSupportDevices = ApplicationInfoDictionary?["UIDeviceFamily"]
    print(AppSupportDevices!)
    
    
    /**
     应用安装包的名字
     */
    let AppInstallationPackageName = ApplicationInfoDictionary?["CFBundleExecutable"]
    print(AppInstallationPackageName!)
    
    
    /**
     获取Info.plist 的版本
     */
    let InfoPlistVersion = ApplicationInfoDictionary?["CFBundleInfoDictionaryVersion"]
    print(InfoPlistVersion!)
    
    
    

    三 、设备信息的获取

    /**
     获取设备的一些信息
     */
    
    
    // TODO : 设备系统的名字
    let KDeviceSystemName = UIDevice.current.systemName
    print(KDeviceSystemName)
    
    // TODO : 获取系统的名字
    let KDeviceSystemVersion = UIDevice.current.systemVersion
    print(KDeviceSystemVersion)
    
    // TODO : 获取设备的名字
    let KDeviceName = UIDevice.current.name
    print(KDeviceName)
    
    // TODO : 获取设置的类型,是 @"iPhone" 还是 @"iPod touch"
    let KDeviceType = UIDevice.current.model
    print(KDeviceType)
    
    // TODO : 设备区域化型号
    let KDevicelocalizedNumber = UIDevice.current.localizedModel
    print(KDevicelocalizedNumber)
    
    // TODO : 获取设备的UUID
    let KDeviceUUID = UIDevice.current.identifierForVendor
    print(KDeviceUUID!)
    
    
    //TODO : 获取设备的朝向
    //MARK : 如果 KDeviceOrientation 等于 UIDeviceOrientationUnknown 说明设备朝向信息还没有确定。
    let KDeviceOrientation = UIDevice.current.orientation
    print(KDeviceOrientation)
    
    // TODO : 是否生成设备的朝向信息
    let isDeviceOrientationInfo = UIDevice.current.isGeneratingDeviceOrientationNotifications
    print(isDeviceOrientationInfo)
    
    // TODO : 开启设备的朝向通知
    UIDevice.current.beginGeneratingDeviceOrientationNotifications()
    
    // TODO : 结束设备朝向的通知
    UIDevice.current.endGeneratingDeviceOrientationNotifications()
    
    // TODO : 是否开启电池控制
    let isBatteryMonitoring = UIDevice.current.isBatteryMonitoringEnabled
    print(isBatteryMonitoring)
    
    // TODO : 获取设备电池的状态
    // MARK : KDeviceBatteryState = UIDeviceBatteryStateUnknown 说明设备电池不受控制
    let KDeviceBatteryState = UIDevice.current.batteryState
    print(KDeviceBatteryState)
    
    // TODO : 获取用户电池百分比
    let KDeviceBatteryLevel = UIDevice.current.batteryLevel
    print(KDeviceBatteryLevel)
    
    
    // TODO : 判断设备的接近传感器是否可用
    let isProximityMonitoring = UIDevice.current.isProximityMonitoringEnabled
    print(isProximityMonitoring)
    
    // TODO : 人脸接近探测器的状态
    // MARK : 如果设备没有安装探测器这个一直返回 False
    let KDeviceProximityState = UIDevice.current.proximityState
    print(KDeviceProximityState)
    
    
    // TODO :获取设备是否支持多任务处理
    let isMultitasking = UIDevice.current.isMultitaskingSupported
    print(isMultitasking)
    
    
    // TODO : 获取设备是那种类型的
    // MARK : 返回值包含: unspecified 、 pad 、tv 、 carPlay
    let KDeviceUserInterfaceIdiom = UIDevice.current.userInterfaceIdiom
    print(KDeviceUserInterfaceIdiom)
    
    

    相关文章

      网友评论

        本文标题:50-Swift 之应用信息&设备信息的获取

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