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);

目录
相关文章
|
4月前
|
Android开发 iOS开发 UED
探索未来:Android与iOS在智能穿戴设备上的较量
随着科技的飞速进步,智能穿戴设备已经成为我们日常生活中不可或缺的一部分。本文将深入探讨两大操作系统——Android和iOS——在智能穿戴领域的竞争与发展,分析它们各自的优势与挑战,并预测未来的发展趋势。通过比较两者在设计哲学、生态系统、用户体验及创新技术的应用等方面的差异,揭示这场较量对消费者选择和市场格局的影响。 【7月更文挑战第31天】
51 0
|
6月前
|
机器学习/深度学习 PyTorch TensorFlow
是否有其他框架可以在iOS设备上进行机器学习?
是否有其他框架可以在iOS设备上进行机器学习?
51 1
|
6月前
|
存储 数据建模 iOS开发
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
100 1
|
6月前
|
定位技术 iOS开发
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
74 0
|
3月前
|
运维 网络安全 iOS开发
厉害!外国网络工程师用Ansible给思科IOS设备升级!
厉害!外国网络工程师用Ansible给思科IOS设备升级!
|
3月前
|
BI Linux 数据安全/隐私保护
忘了 iOS(iPad、IPhone) 设备上的「屏幕使用时间」密码怎么办?找回屏幕密码
忘了 iOS(iPad、IPhone) 设备上的「屏幕使用时间」密码怎么办?找回屏幕密码
114 0
|
4月前
|
Android开发 数据安全/隐私保护 iOS开发
探索未来:安卓与iOS在智能穿戴设备领域的较量
随着科技的飞速发展,智能穿戴设备已逐渐成为我们日常生活的一部分。从健康监测到通讯交流,它们正以惊人的速度改变着我们的生活方式。本文将深入探讨安卓和iOS这两大操作系统在智能穿戴领域的现状、竞争以及未来发展趋势,揭示它们如何通过创新技术满足用户需求,并预测未来可能的发展方向。
41 0
|
6月前
|
机器学习/深度学习 PyTorch TensorFlow
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
177 0
|
6月前
|
iOS开发
iOS设备功能和框架: 如何使用 Core Animation 创建动画效果?
iOS设备功能和框架: 如何使用 Core Animation 创建动画效果?
137 0
|
8天前
|
安全 数据处理 Swift
深入探索iOS开发中的Swift语言特性
本文旨在为开发者提供对Swift语言在iOS平台开发的深度理解,涵盖从基础语法到高级特性的全面分析。通过具体案例和代码示例,揭示Swift如何简化编程过程、提高代码效率,并促进iOS应用的创新。文章不仅适合初学者作为入门指南,也适合有经验的开发者深化对Swift语言的认识。
25 9