获取当前设备

    //获取当前设备    UIDevice *dev = [UIDevice currentDevice];

设备和系统基本信息

    NSLog(@"设备名称:%@", dev.name);  
   NSLog(@"设备类型:%@", dev.model);  
   NSLog(@"本地化模式:%@", dev.localizedModel);
   NSLog(@"系统名称:%@", dev.systemName);  
   NSLog(@"系统版本:%@", dev.systemVersion);  
   NSLog(@"设备朝向:%ld", dev.orientation);
   NSLog(@"UUID:%@", dev.identifierForVendor.UUIDString);

设备类型判断

    //判断设备种类
   if (dev.userInterfaceIdiom == UIUserInterfaceIdiomPhone) {    
         NSLog(@"iPhone 设备");
   }else if(dev.userInterfaceIdiom == UIUserInterfaceIdiomPad)
   {      
        NSLog(@"iPad 设备");
   } else if (dev.userInterfaceIdiom == UIUserInterfaceIdiomTV)
   {    
        NSLog(@"Apple TV设备");
   } else
   {    
        NSLog(@"未知设备!!");
   }

电池相关信息

    //设置电池是否被监视
   dev.batteryMonitoringEnabled = YES;    //判断当前电池状态
   if (dev.batteryState == UIDeviceBatteryStateUnknown) {  
        NSLog(@"UnKnow");
   }else if (dev.batteryState == UIDeviceBatteryStateUnplugged){  
        NSLog(@"未充电");
   }else if (dev.batteryState == UIDeviceBatteryStateCharging){
        NSLog(@"正在充电,电量未满");
   }else if (dev.batteryState == UIDeviceBatteryStateFull){  
         NSLog(@"正在充电,电量已满");
   }    //当前电量等级 [0.0, 1.0]
   NSLog(@"%f",dev.batteryLevel);  
   UIDeviceBatteryLevelDidChangeNotification
   //电池状态改变通知
   UIDeviceBatteryStateDidChangeNotification
   //以上两个通知需在 batteryMonitoringEnabled 设置为YES的情况下有效

红外线感应

    //开启红外感应-- 用于检测手机是否靠近面部
   dev.proximityMonitoringEnabled = YES;  
   if (dev.proximityState == YES) {  
        NSLog(@"靠近面部");
   } else
   {      
        NSLog(@"没有靠近");
   }

多任务环境监测

    //判断当前系统是否支持多任务
   if (dev.isMultitaskingSupported == YES) {
       NSLog(@"支持多任务!!!");
   } else{    
       NSLog(@"不支持多任务!!!");
   }

UIDevice 系统信息详解的更多相关文章

  1. 快学UiAutomator UiDevice API 详解

    一.按键使用 返回值 方法名 说明 boolean pressBack() 模拟短按返回back键 boolean pressDPadCenter() 模拟按轨迹球中点按键 boolean press ...

  2. PHP 进程详解

    .note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeit ...

  3. Docker命令详解

    Docker命令详解   最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...

  4. SQL注入攻防入门详解

    =============安全性篇目录============== 本文转载 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机 ...

  5. SQL注入攻防入门详解(2)

    SQL注入攻防入门详解 =============安全性篇目录============== 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱 ...

  6. Uiautomator ——API详解(转载http://www.cnblogs.com/by-dream/p/4921701.html)

    转载来源: 简单的例子 以一个简单的例子开始吧.我们完成一个 " 打开QQ,进入QQ空间,然后退出 " 的case. 代码如下: package QQ; import java.i ...

  7. Linux /dev目录详解和Linux系统各个目录的作用

    Linux /dev目录详解(转http://blog.csdn.net/maopig/article/details/7195048) 在linux下,/dev目录是很重要的,各种设备都在下面.下面 ...

  8. Windows WMIC命令使用详解

    本文转载出处http://www.jb51.net/article/49987.htm www.makaidong.com/博客园文/32743.shtml wmic alias list brief ...

  9. net user命令集合详解

    net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" /user: ...

随机推荐

  1. iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)

    iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)       1.UIGestureRecognizer介绍 手势识别在iOS上非常重要,手势操作移动设备的重要特征,极大的增加 ...

  2. NSValue NSNumber NSData类

    NSValue NSNumber NSData类 步骤1 NSValue 我们先看看NSValue能做什么: 一个NSValue对象是用来存储一个C或者Objective-C数据的简单容器.它可以保存 ...

  3. hdfs 常用命令

    (2)bin/hdfs dfs -mkdir -p /home/雨渐渐 (3)scp /media/root/DCE28B65E28B432E/download/第2周/ChinaHadoop第二讲\ ...

  4. One git command may cause you hacked(CVE-2014-9390)

    0x00 背景 CVE-2014-9390是最近很火的一个漏洞,一个git命令就可能导致你被黑,我不打算深入探讨这个漏洞的细节,官方已经在https://github.com/blog/1938-gi ...

  5. SHell命令总结

    cat  files-to-copy.txt | xargs -i cp {} /tmp

  6. Find The Multiple(poj 1426)

    Description Given a positive integer n, write a program to find out a nonzero multiple m of n whose ...

  7. LXC是如何与CGROUP,namespace扯上关系的?再加上DOCKER.IO。完美!!!

    最后还余下网络去攻克了. 不同的模板,只是在同一个LINUX内核上去实现不同的发行版的特性. 终归,都是用同样的内核来实现调度.故而是一个轻量极的方案. 而不像KVM一样,GUEST OS里的CPU也 ...

  8. Visual C++ 8.0对象布局的奥秘:虚函数、多继承、虚拟继承(VC直接输出内存布局)

    原文:VC8_Object_Layout_Secret.html 哈哈,从M$ Visual C++ Team的Andy Rich那里又偷学到一招:VC8的隐含编译项/d1reportSingleCl ...

  9. 16.缓存(Cache)

    如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,则网站性能会非常差.而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则能提高系统性能,这样无论有多少人访问 ...

  10. java 实现多种排序

    public class Sort {        //交换两个数    private void swap(int[] arr, int i,int j){        int temp = a ...