UIDevice一些相关属性
// 创建对象
UIDevice *device = [UIDevice currentDevice];
// 当前设备的名称 e.g. "My iPhone"
NSString *deviceName = device.name;
// 当前设备的类型 e.g. @"iPhone", @"iPod touch"
NSString *deviceModel = device.model;
NSString *deviceLocalizedModel = device.localizedModel;
// 当前设备的操作系统 e.g. @"iOS"
NSString *deviceSystemName = device.systemName;
// 当前设备的系统版本 e.g. @"10.3.2"
NSString *deviceSystemVersion = device.systemVersion;
// 当前设备被放置的方向(只是获取)
UIDeviceOrientation deviceOrientation = device.orientation;
switch (deviceOrientation) {
case UIDeviceOrientationUnknown:
NSLog(@"设备放置状态未知");
break;
case UIDeviceOrientationPortrait:
NSLog(@"设备竖直朝上");
break;
case UIDeviceOrientationPortraitUpsideDown:
NSLog(@"设备竖直朝下");
break;
case UIDeviceOrientationLandscapeLeft:
NSLog(@"设备向左横屏");
break;
case UIDeviceOrientationLandscapeRight:
NSLog(@"设备向右横屏");
break;
case UIDeviceOrientationFaceUp:
NSLog(@"设备屏幕朝上");
break;
case UIDeviceOrientationFaceDown:
NSLog(@"设备屏幕朝下");
break;
default:
break;
}
/*
IDFV 用于Vender表示标识用户用的,Vender是指应用提供商,每个设备在所属同一个Vender的应用里,都有相同的值。通过BundleID的反转的前两部分进行匹配,如果相同就是同一个Vender,(例如,com.taobao.app1 和 com.taobao.app2 就是同一个Vender,IDFA值就相同)
注意:
1.此值一定可以获取到
2. 如果用户将此Vender的所有App卸载,此IDFV值将会重置,即使再重新安装此Vender的所有应用,IDFV值也将不相同
*/
NSString *deviceIdentifierForVendorString = device.identifierForVendor.UUIDString;
// 当前设备电池状况
UIDeviceBatteryState deviceBatteryState = device.batteryState;
switch (deviceBatteryState) {
case UIDeviceBatteryStateUnknown:
NSLog(@"电池状态未知");
break;
case UIDeviceBatteryStateUnplugged:
NSLog(@"处于放电状态");
break;
case UIDeviceBatteryStateCharging:
NSLog(@"处于充电状态,低于100%%");
break;
case UIDeviceBatteryStateFull:
NSLog(@"处于充电状态,100%%");
break;
default:
break;
}
/* 当前设备电池电量(0 - 1.0)
如果电池状态为:UIDeviceBatteryStateUnknown,则电池电量值为-1
*/
CGFloat deviceBatteryLevel = device.batteryLevel;
// 用户交互风格类型
UIUserInterfaceIdiom deviceInterfaceIdiom = device.userInterfaceIdiom;
switch (deviceInterfaceIdiom) {
case UIUserInterfaceIdiomUnspecified:
NSLog(@">>UIUserInterfaceIdiomUnspecified");
break;
case UIUserInterfaceIdiomPhone:
NSLog(@">>UIUserInterfaceIdiomPhone");
break;
case UIUserInterfaceIdiomPad:
NSLog(@">>UIUserInterfaceIdiomPad");
break;
case UIUserInterfaceIdiomTV:
NSLog(@">>UIUserInterfaceIdiomTV");
break;
case UIUserInterfaceIdiomCarPlay:
NSLog(@">>UIUserInterfaceIdiomCarPlay");
break;
default:
break;
}
相关的通知
// 设备朝向发生了变化
UIDeviceOrientationDidChangeNotification
// 设备的电池跳状态发生变化
UIDeviceBatteryStateDidChangeNotification
// 设备的电池电量发生变化
UIDeviceBatteryLevelDidChangeNotification
// 设备接近感应器变化
UIDeviceProximityStateDidChangeNotification
892

被折叠的 条评论
为什么被折叠?



