UIDevice 系统信息详解

作者: tanyufeng | 来源:发表于2016-05-24 08:00 被阅读511次

    获取当前设备

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

    设备和系统基本信息

        //当前设备名称,例如张三的iPhone
        NSLog(@"设备名称:%@", dev.name);
    
        //例如iPhone、iPod
        NSLog(@"设备类型:%@", dev.model);
    
        //model的本地化描述,类似于model
        NSLog(@"本地化模式:%@", dev.localizedModel);
    
        //系统名称, 例如: iPone OS
        NSLog(@"系统名称:%@", dev.systemName);
    
        //对应系统的版本号, 例如:9.2
        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 系统信息详解

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