IOS获取设备信息
概要
UIDevice提供了多种属性、类函数及状态通知,包括检测电池电量和定位设备与临近感应,UIDevice所做的工作就是为应用程序提供用户及设备的一些信息。UIDevice类还能够收集关于设备的各种具体细节,例如机型及iOS版本等。其中大部分属性都对开发工作具有积极的辅助作用
代码示例
- (void) getDeviceInfo { UIDevice* curDev = [UIDevice currentDevice]; /** 设备系统信息*/ // 设备名称 NSLog(@"\tname : %@", curDev.name); // 设备模式 NSLog(@"\tmodel : %@", curDev.model); // 设备本地模式 NSLog(@"\tlocalize : %@", curDev.localizedModel); // 系统名称 NSLog(@"\tos name : %@", curDev.systemName); // 系统版本号 NSLog(@"\tos version : %@", curDev.systemVersion); // 设备类别:手机,平板电脑 switch (curDev.userInterfaceIdiom) { case UIUserInterfaceIdiomPhone: NSLog(@"\tIdiom : iPhone"); break; case UIUserInterfaceIdiomPad: NSLog(@"\tIdiom : iPad"); break; default: NSLog(@"\tIdiom : Unknow"); break; } // 设备唯一标识 NSLog(@"\tUUID : %@", curDev.identifierForVendor.UUIDString); /** 设备方向 */ // 设备朝向 switch (curDev.orientation) { case UIDeviceOrientationPortrait: NSLog(@"\torientation : Portrait"); break; case UIDeviceOrientationPortraitUpsideDown: NSLog(@"\torientation : upside down"); break; case UIDeviceOrientationLandscapeLeft: NSLog(@"\torientation : left"); break; case UIDeviceOrientationLandscapeRight: NSLog(@"\torientation : right"); break; case UIDeviceOrientationFaceUp: NSLog(@"\torientation : face up"); break; case UIDeviceOrientationFaceDown: NSLog(@"\torientation : face down"); break; default: NSLog(@"\torientation : Unknow"); break; } UIScreen* mainScreen = [UIScreen mainScreen]; // 屏幕尺寸 NSLog(@"screen size : %.0fx%.0f", mainScreen.bounds.size.width, mainScreen.bounds.size.height); /** 设备电池 */ NSLog(@"Battery infomation"); // 电量 NSLog(@"\tlevel : %.2f%%", curDev.batteryLevel*100); switch (curDev.batteryState) { case UIDeviceBatteryStateUnplugged: NSLog(@"\tstate : Unplugged"); break; case UIDeviceBatteryStateCharging: NSLog(@"\tstate : Charging"); break; case UIDeviceBatteryStateFull: NSLog(@"\tstate : Full"); break; default: NSLog(@"\tstate : Unknow"); break; } // 电池监视器是否开启 if( curDev.isBatteryMonitoringEnabled ) { NSLog(@"\tmonitor on : YES"); } else { NSLog(@"\tmonitor on : NO"); } /** 体感器 */ NSLog(@"Proximity Sensor infomation"); if( curDev.proximityState ) { NSLog(@"\tsensor on : YES"); } else { NSLog(@"\tsensor on : NO"); } if(curDev.proximityMonitoringEnabled) { NSLog(@"\tmonitor on : YES"); } else { NSLog(@"\tmonitor on : NO"); } } - (void) getBundleInfo { NSBundle* bundle = [NSBundle mainBundle]; NSDictionary* bundleInfo = [bundle infoDictionary]; // 应用信息 NSLog(@"%@", bundleInfo); /* CFBundleDevelopmentRegion = en; CFBundleExecutable = DeviceInfo; CFBundleIdentifier = "arbboter.com.DeviceInfo"; CFBundleInfoDictionaryVersion = "6.0"; CFBundleInfoPlistURL = "Info.plist -- file:///../DeviceInfo.app/"; CFBundleName = DeviceInfo; CFBundleNumericVersion = 16809984; CFBundlePackageType = APPL; CFBundleShortVersionString = "1.0"; CFBundleSignature = "????"; CFBundleSupportedPlatforms = ( iPhoneSimulator ); CFBundleVersion = 1; DTPlatformName = iphonesimulator; DTSDKName = "iphonesimulator8.1"; LSRequiresIPhoneOS = 1; UIDeviceFamily = ( 1 ); UILaunchStoryboardName = LaunchScreen; UIMainStoryboardFile = Main; UIRequiredDeviceCapabilities = ( armv7 ); UISupportedInterfaceOrientations = ( UIInterfaceOrientationPortrait, UIInterfaceOrientationLandscapeLeft, UIInterfaceOrientationLandscapeRight ); */ }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。