- (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 } }