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


时间: 2024-12-04 00:05:48

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

iOS App开发中通过UIDevice类获取设备信息的方法_IOS

UIDevice提供了多种属性.类函数及状态通知,帮助我们全方位了解设备状况.从检测电池电量到定位设备与临近感应,UIDevice所做的工作就是为应用程序提供用户及设备的一些信息.UIDevice类还能够收集关于设备的各种具体细节,例如机型及iOS版本等.其中大部分属性都对开发工作具有积极的辅助作用.下面的代码简单的使用UIDevice获取手机属性. 简单示例:设备相关信息的获取   NSString *strName = [[UIDevice currentDevice] name];   N

IOS获取通讯录联系人信息

IOS获取系统通讯录联系人信息 一.权限注册 随着apple对用户隐私的越来越重视,IOS系统的权限设置也更加严格,在获取系统通讯录之前,我们必须获得用户的授权.权限申请代码示例如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31     //这个变量用于记录授权是否成功,即用户是否允许我们访问通讯录     int __block tip=0;     //声明一个通讯

iOS获取当前设备型号等信息(全)包含iPhone7和iPhone7P_IOS

#include <sys/types.h> #include <sys/sysctl.h> //获得设备型号 + (NSString *)getCurrentDeviceModel { int mib[2]; size_t len; charchar *machine; mib[0] = CTL_HW; mib[1] = HW_MACHINE; sysctl(mib, 2, NULL, &len, NULL, 0); machine = malloc(len); sysc

iOS获取设备唯一标识的8种方法_IOS

8种iOS获取设备唯一标识的方法,希望对大家有用. UDID UDID(Unique Device Identifier),iOS 设备的唯一识别码,是一个40位十六进制序列(越狱的设备通过某些工具可以改变设备的 UDID),移动网络可以利用 UDID 来识别移动设备. 许多开发者把 UDID 跟用户的真实姓名.密码.住址.其它数据关联起来,网络窥探者会从多个应用收集这些数据,然后顺藤摸瓜得到这个人的许多隐私数据,同时大部分应用确实在频繁传输 UDID 和私人信息. 为了避免集体诉讼,苹果最终决

ios-哪位大虾能够解决:IOS获取是否飞行模式状态,不能用reachability

问题描述 哪位大虾能够解决:IOS获取是否飞行模式状态,不能用reachability 应用场景是获取苹果手机是否处于飞行模式状态,但不能通过reachability来判断是否只有网络状态,用networkcontroller和coretelephony两个判断能够解决大部分问题,但发现有4个版本的操作系统返回不正确,因此无法通用,不知道如何是好了,有哪位大虾出手相助,谢谢!不行的4个IOS版本分别是:6.1.3.7.0.4.7.1.1.8.3 解决方案 楼主解决了吗,同求啊

设备-ios 获取蓝牙配对信息

问题描述 ios 获取蓝牙配对信息 有没有人做过IOS BLE 相关的应用,有一个问题,在IOS app里面怎么获取系统setting里面已经配对过的蓝牙设备的信息呢? 解决方案 http://www.raywenderlich.com/52080/introduction-core-bluetooth-building-heart-rate-monitor 解决方案二: 参考这篇老外的博客 介绍的是iphone通过蓝牙链接一台心跳检测仪,有详细介绍和代码 解决方案三: 参考这篇老外的博客 介绍

我在做一个网站统计系统时,在统计页面的时候总是要刷新网站页面时才能获取客户端的基本信息?

问题描述 我在做一个网站统计系统时,在统计页面的时候总是要刷新网站页面时才能获取客户端的基本信息? 解决方案 解决方案二:问题不具体,你要统计什么?客户端的什么信息?你为什么要刷新页面呢?解决方案三:不刷新就得用Javascript+Ajax解决方案四:在页面加载的时候不就可以统计到客户端的信息了吗

今天iOS获取不了群信息,安卓可以

问题描述 今天iOS获取不了群信息,自动登录也比平常慢XDHttpManager::httpWithApiAfterAppkey:httpMethod:headers:parameters:timeout:retryCount:error: --- error: 连接建立失败. [[EaseMob sharedInstance].chatManager asyncFetchGroupInfo:_chatGroup.groupId completion:^(EMGroup *group, EMEr

ipa打包-iOS 获取手机时间错误

问题描述 iOS 获取手机时间错误 ipa打包后在越狱的手机上安装后,我选择的时间是2013,他发送到服务器的时间就是2012年,少一年,怎么回事啊