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

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

热门文章

最新文章