iOS获取和监测设备基本信息——UIDevice的使用

简介:

iOS获取和监测设备基本信息——UIDevice的使用

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//获取当前设备单例
+ (UIDevice *)currentDevice;
//获取当前设备名称 
@property(nonatomic,readonly,strong) NSString    *name;               // e.g. "My iPhone"
//获取当前设备模式
@property(nonatomic,readonly,strong) NSString    *model;              // e.g. @"iPhone", @"iPod touch"
//获取本地化的当前设备模式
@property(nonatomic,readonly,strong) NSString    *localizedModel;     // localized version of model
//获取系统名称
@property(nonatomic,readonly,strong) NSString    *systemName;         // e.g. @"iOS"
//获取系统版本
@property(nonatomic,readonly,strong) NSString    *systemVersion;      // e.g. @"4.0"
//获取设备方向
@property(nonatomic,readonly) UIDeviceOrientation orientation;       
//获取设备UUID对象
@property(nullable, nonatomic,readonly,strong) NSUUID      *identifierForVendor;
//是否开启监测电池状态 开启后 才可以正常获取电池状态
@property(nonatomic,getter=isBatteryMonitoringEnabled)  BOOL  batteryMonitoringEnabled NS_AVAILABLE_IOS(3_0);   // default is NO
//获取电池状态
@property(nonatomic,readonly) UIDeviceBatteryState          batteryState NS_AVAILABLE_IOS(3_0);  
//获取电量
@property(nonatomic,readonly)  float                          batteryLevel NS_AVAILABLE_IOS(3_0);

设备方向的枚举如下:

?
1
2
3
4
5
6
7
8
9
typedef  NS_ENUM(NSInteger, UIDeviceOrientation) {
     UIDeviceOrientationUnknown,
     UIDeviceOrientationPortrait,             // home键在下
     UIDeviceOrientationPortraitUpsideDown,   // home键在上
     UIDeviceOrientationLandscapeLeft,        // home键在右
     UIDeviceOrientationLandscapeRight,       // home键在左
     UIDeviceOrientationFaceUp,               // 屏幕朝上
     UIDeviceOrientationFaceDown              // 屏幕朝下
};

电池状态的枚举如下:

?
1
2
3
4
5
6
typedef  NS_ENUM(NSInteger, UIDeviceBatteryState) {
     UIDeviceBatteryStateUnknown,
     UIDeviceBatteryStateUnplugged,    // 放电状态
     UIDeviceBatteryStateCharging,     // 充电未充满状态
     UIDeviceBatteryStateFull,         // 充电已充满
};

下面的方法关于监测屏幕状态:

?
1
2
3
4
5
6
//获取是否开启屏幕状态更改通知
@property(nonatomic,readonly,getter=isGeneratingDeviceOrientationNotifications)  BOOL  generatesDeviceOrientationNotifications;
//开始监测通知
- ( void )beginGeneratingDeviceOrientationNotifications;     
//结束监测通知
- ( void )endGeneratingDeviceOrientationNotifications;

下面这两个放大与距离传感器应用相关,可参考:http://my.oschina.net/u/2340880/blog/544341.

?
1
2
3
@property(nonatomic,getter=isProximityMonitoringEnabled)  BOOL  proximityMonitoringEnabled NS_AVAILABLE_IOS(3_0);  //开启距离传感器
//是否触发了距离传感器
@property(nonatomic,readonly)                             BOOL  proximityState

相关通知:

?
1
2
3
4
5
6
7
8
//设备方向改变时发送的通知
UIKIT_EXTERN NSString * const  UIDeviceOrientationDidChangeNotification;
//电池状态改变时发送的通知
UIKIT_EXTERN NSString * const  UIDeviceBatteryStateDidChangeNotification   NS_AVAILABLE_IOS(3_0);
//电量改变时发送的通知
UIKIT_EXTERN NSString * const  UIDeviceBatteryLevelDidChangeNotification   NS_AVAILABLE_IOS(3_0);
//距离传感器状态改变时发送的通知
UIKIT_EXTERN NSString * const  UIDeviceProximityStateDidChangeNotification NS_AVAILABLE_IOS(3_0);

目录
相关文章
|
9月前
|
Android开发 iOS开发 UED
探索未来:Android与iOS在智能穿戴设备上的较量
随着科技的飞速进步,智能穿戴设备已经成为我们日常生活中不可或缺的一部分。本文将深入探讨两大操作系统——Android和iOS——在智能穿戴领域的竞争与发展,分析它们各自的优势与挑战,并预测未来的发展趋势。通过比较两者在设计哲学、生态系统、用户体验及创新技术的应用等方面的差异,揭示这场较量对消费者选择和市场格局的影响。 【7月更文挑战第31天】
106 0
|
11月前
|
机器学习/深度学习 PyTorch TensorFlow
是否有其他框架可以在iOS设备上进行机器学习?
是否有其他框架可以在iOS设备上进行机器学习?
72 1
|
11月前
|
存储 数据建模 iOS开发
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
187 1
|
11月前
|
定位技术 iOS开发
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
187 0
|
8月前
|
运维 网络安全 iOS开发
厉害!外国网络工程师用Ansible给思科IOS设备升级!
厉害!外国网络工程师用Ansible给思科IOS设备升级!
|
8月前
|
BI Linux 数据安全/隐私保护
忘了 iOS(iPad、IPhone) 设备上的「屏幕使用时间」密码怎么办?找回屏幕密码
忘了 iOS(iPad、IPhone) 设备上的「屏幕使用时间」密码怎么办?找回屏幕密码
283 0
|
9月前
|
Android开发 数据安全/隐私保护 iOS开发
探索未来:安卓与iOS在智能穿戴设备领域的较量
随着科技的飞速发展,智能穿戴设备已逐渐成为我们日常生活的一部分。从健康监测到通讯交流,它们正以惊人的速度改变着我们的生活方式。本文将深入探讨安卓和iOS这两大操作系统在智能穿戴领域的现状、竞争以及未来发展趋势,揭示它们如何通过创新技术满足用户需求,并预测未来可能的发展方向。
84 0
|
11月前
|
机器学习/深度学习 PyTorch TensorFlow
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
325 0
|
11月前
|
iOS开发
iOS设备功能和框架: 如何使用 Core Animation 创建动画效果?
iOS设备功能和框架: 如何使用 Core Animation 创建动画效果?
167 0
|
iOS开发
iOS设备类型
通常App都会采集用户的设备信息,比如设备类型、网络类型、内存大小等,而拿到的数据比如:iPhone 8,1是什么意思?代表iOS 8.1吗,非也。这里放二个网站大家可以上去查一查,在统计分析的系统里可以将设备类型再‘翻译’过来   https://support.
798 0

热门文章

最新文章

  • 1
    苹果app上架-ios上架苹果商店app store 之苹果支付In - App Purchase内购配置-优雅草卓伊凡
    115
  • 2
    苹果app上架app store 之苹果开发者账户在mac电脑上如何使用钥匙串访问-发行-APP发布证书ios_distribution.cer-优雅草卓伊凡
    62
  • 3
    uniapp云打包ios应用证书的获取方法,生成指南
    100
  • 4
    iOS|解决 setBrightness 调节屏幕亮度不生效的问题
    139
  • 5
    iOS|记一名 iOS 开发新手的前两次 App 审核经历
    43
  • 6
    iOS各个证书生成细节
    63
  • 7
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    289
  • 8
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    91
  • 9
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    100
  • 10
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    86