开发者社区> 珲yy少> 正文

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

简介: iOS获取和监测设备基本信息——UIDevice的使用
+关注继续查看

//获取当前设备单例

  • (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);
设备方向的枚举如下:

typedef NS_ENUM(NSInteger, UIDeviceOrientation) {

UIDeviceOrientationUnknown,
UIDeviceOrientationPortrait,            // home键在下
UIDeviceOrientationPortraitUpsideDown,  // home键在上
UIDeviceOrientationLandscapeLeft,       // home键在右
UIDeviceOrientationLandscapeRight,      // home键在左
UIDeviceOrientationFaceUp,              // 屏幕朝上
UIDeviceOrientationFaceDown             // 屏幕朝下

};
电池状态的枚举如下:

typedef NS_ENUM(NSInteger, UIDeviceBatteryState) {

UIDeviceBatteryStateUnknown,
UIDeviceBatteryStateUnplugged,   // 放电状态
UIDeviceBatteryStateCharging,    // 充电未充满状态
UIDeviceBatteryStateFull,        // 充电已充满

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

//获取是否开启屏幕状态更改通知
@property(nonatomic,readonly,getter=isGeneratingDeviceOrientationNotifications) BOOL generatesDeviceOrientationNotifications;
//开始监测通知

  • (void)beginGeneratingDeviceOrientationNotifications;

//结束监测通知

  • (void)endGeneratingDeviceOrientationNotifications;

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

@property(nonatomic,getter=isProximityMonitoringEnabled) BOOL proximityMonitoringEnabled NS_AVAILABLE_IOS(3_0); //开启距离传感器
//是否触发了距离传感器
@property(nonatomic,readonly) BOOL proximityState
相关通知:

//设备方向改变时发送的通知
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);

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
AliOS Things 使用HAL库的USB_DEVICE MSC调用SPI W25Q128
AliOS Things的USB_DEVICE MSC的SPI W25Q128实现
896 0
使用developer kit 初步打通阿里生活物联网平台
最近小编又发现了一块新大陆,阿里智能生活平台,那么什么是阿里智能生活平台呢。阿里的官方解释如下:生活物联网平台,顾名思义就是应用于生活,以解决家电设备快速智能化的问题。平台针对家电智能化的设备连接、移动端控制、设备管理、数据统计等问题,打包阿里云多款产品,提供了一整套配置化方案,大幅减低“设备-云端-App”的开发成本。
1740 0
+关注
596
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载