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

目录
相关文章
|
3月前
|
机器学习/深度学习 PyTorch TensorFlow
是否有其他框架可以在iOS设备上进行机器学习?
是否有其他框架可以在iOS设备上进行机器学习?
21 1
|
3月前
|
存储 数据建模 iOS开发
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
iOS设备功能和框架: 什么是 Core Data,它在 iOS 中的作用是什么?
33 1
|
3月前
|
定位技术 iOS开发
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
iOS设备功能和框架: 如何使用 Core Location 获取设备的位置信息?
19 0
|
3月前
|
机器学习/深度学习 PyTorch TensorFlow
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
27 0
|
3月前
|
iOS开发
iOS设备功能和框架: 如何使用 Core Animation 创建动画效果?
iOS设备功能和框架: 如何使用 Core Animation 创建动画效果?
101 0
|
3月前
|
存储 Linux iOS开发
iOS 技术博主指南:填写苹果应用上架中的隐私政策信息
iOS 技术博主指南:填写苹果应用上架中的隐私政策信息
|
6月前
|
iOS开发 开发者
Xcode7.2真机调试iOS 9.3的设备
Xcode7.2真机调试iOS 9.3的设备
110 0
|
7月前
|
iOS开发
iOS UIDevice & 屏幕旋转检测
iOS UIDevice & 屏幕旋转检测
30 0
|
7月前
|
iOS开发
iOS 获取设备-语言,版本,国家
iOS 获取设备-语言,版本,国家
97 0
|
7月前
|
网络安全 iOS开发 开发者
frida环境配置、以及如何脱壳iOS包并安装到非越狱设备-制作iOS任意App分身
frida环境配置、以及如何脱壳iOS包并安装到非越狱设备-制作iOS任意App分身
982 1