您的位置:首页 > 产品设计 > UI/UE

iOS 通过UIDevice 获取系统相关属性

2016-04-25 11:12 513 查看
- (void)viewDidLoad

{

[super viewDidLoad];

// 操作系统

NSString * osName =[[UIDevice currentDevice]systemName];

// 操作系统版本

NSString * systemVersion =[[UIDevice currentDevice]systemVersion];

NSLog(@"os =%@ ",osName);

NSLog(@"version =%@",systemVersion);

// IOS设备模型

NSString *iosmodel =[[UIDevice currentDevice]model];

NSLog(@"%@",iosmodel);

// 电量的范围从0.0(全部泻出)-1.0(100%)在访问这个属性之前要确保batterymonitoring这个属性是可用的

// 电量查询

float batteryLevel = [UIDevice currentDevice].batteryLevel;

NSLog(@"%f",batteryLevel);

// 检测电池状态

UIDeviceBatteryState batteryState = [[UIDevice currentDevice]batteryState];

// 有如下几个状态

// UIDeviceBatteryStateUnknown 0 未识别 0

// UIDeviceBatteryStateUnplugged, 充电中 1

// UIDeviceBatteryStateCharging, 少于100% 2

// UIDeviceBatteryStateFull, 充满了 3

NSLog(@"%d",batteryState);

// 检测是否支持多任务处理

BOOL support =[[UIDevice currentDevice]isMultitaskingSupported];

if(support)

{

NSLog(@"supportmultiTask");

}

else

{

NSLog(@"don,t supportmultiTask");

}

// 检测当前设备方向是否改变

// YES 方向改变

// NO 方向未改变

BOOL status =[UIDevice currentDevice].generatesDeviceOrientationNotifications ;

NSLog(@"%d",status);

// 开始改变设备方向 如果需要在改变方向的时候处理一些事情可以重写这个方法

// [[UIDevice currentDevice]beginGeneratingDeviceOrientationNotifications ];

// 结束改变设备方向 同上

// [[UIDevice currentDevice]endGeneratingDeviceOrientationNotifications];

// 临近状态检测

// 当你的身体靠近iPhone而不是触摸的时候,iPhone将会做出反应。(需要一定的面的影射,约5mm左右的时候就会触发)

// YES 临近 消息触发

// NO

BOOL proximityState = [[UIDevice currentDevice]proximityState];

NSLog(@"%d",proximityState);

UIDevice *device = [UIDevice currentDevice ];

device.proximityMonitoringEnabled=YES; // 允许临近检测

// 临近消息触发

[[NSNotificationCenter defaultCenter] addObserver:self

selector:@selector(proximityChanged:)

name:UIDeviceProximityStateDidChangeNotification object:device];

}

// 临近手机消息触发

- (void) proximityChanged:(NSNotification *)notification {

UIDevice *device = [notification object];

NSLog(@"In proximity:%i",device.proximityState);

if(device.proximityState==1){

//do something

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: