原创Blog,转载请注明出处

blog.csdn.net/hello_hwc

欢迎关注我的iOS SDK具体解释专栏

blog.csdn.net/column/details/huangwenchen-ios-sdk.html


前言:UIDevice是刚開始学习的人非常easy忽视的一个类。通过这个类的API能够非常easy的获取到当前的设备信息,系统信息。

没什么难度,本文会具体的阐述各个属性。


本文的输出值都是在我的iPhone 5s下的值


设备

设备名称

返回类型String

 let deviceName = UIDevice.currentDevice().name //***的iPhone

系统版本号

返回类型String

 let systemName = UIDevice.currentDevice().systemName//iPhone OS
let systemVersion = currentDevice.systemVersion// 8.3

设备型号

返回类型String

let deviceModel = UIDevice.currentDevice().model// iPhone
let localModel = UIDevice.currentDevice().localizedModel// iPhone

ipad/Iphone

返回类型UIUserInterfaceIdiom

有三种

enum UIUserInterfaceIdiom : Int {
case Unspecified
case Phone //iPhone 和 iTouch
case Pad //Ipad
}
let deviceType = UIDevice.currentDevice().userInterfaceIdiom//Phone

厂商

返回类型NSUUID!

 let vender = UIDevice.currentDevice().identifierForVendor

电池

剩余电量 -batteryLevel

返回float,0到1之间,1代表100%电量

电量的状态-batteryState

返回UIDeviceBatteryState

enum UIDeviceBatteryState : Int {
case Unknown //未知
case Unplugged//没有在充电
case Charging//在充电
case Full//满电
}

是否监听电量-batteryMonitoringEnabled

假设设为YES,则能够监听电量的变化和获取电量的状态。默觉得NO

 UIDevice.currentDevice().batteryMonitoringEnabled = true
let batteryLevel = UIDevice.currentDevice().batteryLevel//0.550000012
let batteryState = UIDevice.currentDevice().batteryState//Charging

有两个notification能够订阅

  • UIDeviceBatteryStateDidChangeNotification
  • UIDeviceOrientationDidChangeNotification

设备旋转

注意。这里的是设备的物理方向,不是屏幕的方向

获取设备的物理方向-orientation

返回类型

enum UIDeviceOrientation : Int {
case Unknown
case Portrait
case PortraitUpsideDown
case LandscapeLeft
case LandscapeRight
case FaceUp
case FaceDown
}

是否发送通知-generatesDeviceOrientationNotifications

假设是YES,那么设备方向改变了,会post这个通知UIDeviceOrientationDidChangeNotification 。当然这个通知也是能够订阅的。

注意,获取方向的时候要在这两个函数之间获取

 UIDevice.currentDevice().beginGeneratingDeviceOrientationNotifications()
let orientation = UIDevice.currentDevice().orientation//Portrait UIDevice.currentDevice().endGeneratingDeviceOrientationNotifications()

设备是否接近脸

proximityMonitoringEnabled
proximityState

是否支持多任务

multitaskingSupported

播放输入的声音

  playInputClick()

须要在自己定义的输入view下这么做

  • 让自己定义输入视图遵循UIInputViewAudioFeedback protocol
  • 实现方法enableInputClicksWhenVisible 而且返回true

iOS SDK具体解释之UIDevice(系统版本号,设备型号...)的更多相关文章

  1. iOS SDK具体解释之NSCopying协议

    原创blog,转载请注明出处 http://blog.csdn.net/hello_hwc?viewmode=contents 欢迎关注我的iOS SDK具体解释专栏 http://blog.csdn ...

  2. 让iOS应用支持不同版本的系统与设备

    本文转载至  http://blog.csdn.net/pucker/article/details/11980811 最近一直在做app的iOS 6和7的同时适配工作,所以在此介绍一下系统与设备的兼 ...

  3. Swift - 获取应用名称、应用版本、设备型号、系统版本等信息

    有时我们在 App 中提交一些统计信息或者用户反馈信息时,为了能更好地进行分析,通常会附带上当前应用程序的名称.版本号.设备型号.以及设备系统版本.下面演示如何获取这些信息. 1,效果图 程序启动后自 ...

  4. 获取iOS系统版本号,慎重使用[[[UIDevice currentDevice] systemVersion] floatValue]——【sdk缺陷】

    iOS 最常见的获取系统版本的方法是: [[[UIDevice currentDevice] systemVersion] floatValue] 可是.这个floatValue是不靠谱的,这也算是i ...

  5. 获取设备IMEI ,手机名称,系统SDK版本号,系统版本号

    1.获取设备IMEI TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); Str ...

  6. android 获取手机型号,本机电话号码,SDK版本以及firmwarw版本号(即系统版本号)

    Android开发平台中,可通过TelephonyManager 获取本机号码. TelephonyManager phoneMgr=(TelephonyManager)this.getSystemS ...

  7. iOS SDK开发汇总

    以前也做过静态库的开发,不过都是一些简单的调用,最近在做项目的时候,发现其中还有很多问题,所以建个小项目简单记录遇到的问题以及正确的解决办法. 在项目中遇到的问题如下:xib文件获取不到, story ...

  8. ios 获取手机信息(UIDevice、NSBundle、NSLocale)

    iOS的SDK中提供了UIDevice.NSBundle,NSLocale. UIDevice        UIDevice提供了多种属性.类函数及状态通知,帮助我们全方位了解设备状况. 从检測电池 ...

  9. iOS开发 获取手机信息(UIDevice,NSBundle,NSlocale)

    在开发中,需要获取当前设备的一些信息,可以通过UIDevice,NSbundle,NSlocale获取. UIDevice UIDevice 提供了多种属性,类函数及状态通知,可以检测手机电量,定位, ...

随机推荐

  1. 删除ARCSDE表空间和用户后,新建时出现error -1:O的解决办法

    对于刚开始使用arcsde的用户,可能会出现各种问题,慢慢来就会找到解决办法 当我们删除用户和表空间时,在服务器本地还保留这sde.dbf文件(删除时选择了删除本地文件,不知道为什么), 我们可以换一 ...

  2. Google Code Jam 2008 Round 1A C Numbers(矩阵快速幂+化简方程,好题)

    Problem C. Numbers This contest is open for practice. You can try every problem as many times as you ...

  3. 【EX_BSGS】BZOJ1467 Pku3243 clever Y

    1467: Pku3243 clever Y Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 425  Solved: 238[Submit][Status ...

  4. pat 甲级 1022. Digital Library (30)

    1022. Digital Library (30) 时间限制 1000 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A Di ...

  5. Javascript&Html-location对象

    Javascript&Html-location对象 location对应是BOM最有用的对象之一,她提供了当前窗口中加载的文档的信息,并提供了一些导航的功能.location对象有一个特别的 ...

  6. Using MEF to Set Up Dependency Injection

    The Managed Extensibility Framework (MEF) is a built-in set of elements that allows you to “export” ...

  7. dva脚手架 dva-cli 配置roadhogrc,antd-mobile样式按需加载 不生效的问题

    1.新安装dva-cli脚手架版本0.9.2,dva版本是2.4.1,roadhogrc版本是2.4.9 roadhogrc2 与1 的区别把roadhogrc 改成了webpackrc 所以配置an ...

  8. Sql Server 2005 mdf、ldf文件无法复制问题

    [问题原因]Sql Server服务只要启动就一直占用,故无法进行编辑操作. [解决办法 - 1]: 1)在开始-运行对话框中输入"services.msc”,显示如下界面: 2)关闭如上选 ...

  9. 安装glibc错误链接导致系统崩溃,u盘启动紧急救援模式下修复系统。

    Sln 命令  创建动态符号链接 用法 sln source  dest 故障案例:一个误操作 导致了一个不小的故障,输入所有命令都无效,直接系统无法启动. 故障描述 sln /usr/lib64/l ...

  10. Centos python 2.6 升级到 2.7

    前几天做了下阿里云的RDS日志相关功能,其工具大都是Python语言编写,但服务器初始化时的Python版本又不满足需求,本身也没有学过Python,因此在问题定位上费了一番周折,最后找朋友帮忙看了下 ...