原创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. BZOJ3999 [TJOI2015]旅游 【树剖 + 线段树】

    题目 为了提高智商,ZJY准备去往一个新世界去旅游.这个世界的城市布局像一棵树.每两座城市之间只有一条路径可 以互达.每座城市都有一种宝石,有一定的价格.ZJY为了赚取最高利益,她会选择从A城市买入再 ...

  2. Codeforces Round #362 (Div. 2) B 模拟

    B. Barnicle time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...

  3. P1558 色板游戏 (线段树)

    题目链接 Solution 一个简单的 或 线段树.竟然坑了我一个小时... 因为颜色很小,所以把状态压起来. 然后每个节点上的数值代表当前颜色状态. 然后节点合并很简单,直接或起来. 需要注意一下的 ...

  4. Docker 常用命令总结

    Docker 常用命令总结   回到顶部 镜像相关 搜索 docker search *image_name* 下载 docker pull *image_name* 查看 docker images ...

  5. bzoj 2749 - 外星人

    Description 给定一个数的标准分解\(N= \prod_{i=1}^n p_i^{q_i}\) 其中\(p_i \le 10^5, q_i \le 10^9\) 求最小的\(x\)使得\(\ ...

  6. 收集邮票(bzoj 1426)

    Description 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n.但是由于凡凡也 ...

  7. configurationmanager.getsection usage example.

    1.app.config(note that attribute case sensitive!) <?xml version="1.0" encoding="ut ...

  8. Docker(二):Docker的用途

    Docker的优点: 1.Docker容器的启动可以在秒级实现,相比传统虚拟机方式快的多. 2.Docker资源利用率很高,一台主机上可以同时运行数千个Docker容器. 3.容器除了运行其中应用外, ...

  9. StringTokenizer:字符串分隔用法简介

    StringTokenizer:字符串分隔解析类型 属于:java.util包. 1.构造函数. 1. StringTokenizer(String str) :构造一个用来解析str的StringT ...

  10. TCMalloc小记【转】

    转自:http://blog.csdn.net/chosen0ne/article/details/9338591 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 一 原理 二 ...