iOS-获取当前设备的信息,网络状态,运营商,设备震动.获取设备信息
2016-02-18 13:52
686 查看
1.获取设备信息
类方法(其他参数同上)
或从保存配置的字典中读取(参数具体可查询plist文件)
2.获取当前屏幕分辨率的信息 屏幕长宽
3.设备震动
4.获取电池的相关信息
5.获取运营商的信息
6.网络状态监听
本文Demo:http://download.csdn.net/detail/jackjia2015/9435384
UIDevice *device = [[UIDevice alloc]init]; NSString *name = device.name; //获取设备用户的名称 NSString *model = device.model; //获取设备的类别 NSString *localizedModel = device.localizedModel; //地方型号 (国际化区域名称) NSString *systemName = device.systemName; //获取当前运行的系统 NSString *systemVersion = device.systemVersion; //获取当前系统的版本 NSString *UUID = device.identifierForVendor.UUIDString; //获取设备的UUID唯一标示符 NSLog(@"\n name:%@\n model:%@\n localizedModel:%@\n systemName:%@\n systemVersion:%@\n",name,model,localizedModel,systemName,systemVersion); NSLog(@"\n UUID:%@",UUID); //设备朝向 NSLog(@"设备朝向 - %ld", (long)device.orientation); // 当前设备是否有转向通知 NSLog(@"设备转向通知 BOOL- %d", device.generatesDeviceOrientationNotifications); // 是否启动电池监控,默认为NO NSLog(@"电池监控启用状态 BOOL- %d", device.batteryMonitoringEnabled); //用户界面模式 NSLog(@"用户界面模式 - %ld", (long)device.userInterfaceIdiom);
类方法(其他参数同上)
NSString * nameStr = [UIDevice currentDevice].name;
或从保存配置的字典中读取(参数具体可查询plist文件)
NSDictionary *infoDict =[[NSBundle mainBundle] infoDictionary]; NSString *versionNum =[infoDict objectForKey:@"CFBundleVersion"];//当前应用版本号码 NSString *appName =[infoDict objectForKey:@"CFBundleDisplayName"];//当前应用名称 NSString *appCurVersion = [infoDict objectForKey:@"CFBundleShortVersionString"];//当前应用软件版本
2.获取当前屏幕分辨率的信息 屏幕长宽
CGRect rect = [[UIScreen mainScreen] bounds]; CGFloat scale = [[UIScreen mainScreen] scale]; CGFloat width = rect.size.width * scale; CGFloat height = rect.size.height * scale; NSLog(@"分辨率\n width:%f\n height:%f",width,height); float screenHeight = [UIScreen mainScreen].bounds.size.height; float screenWidth = [UIScreen mainScreen].bounds.size.width; NSLog(@"屏幕\n width:%f\n height:%f",screenWidth,screenHeight);
3.设备震动
/* 需要加入AudioToolbox framework, 导入头文件 #import <AudioToolbox/AudioToolbox.h> 在需要震动的地方写下面的代码即可 */ AudioServicesPlaySystemSound (kSystemSoundID_Vibrate);
4.获取电池的相关信息
//获取电池当前的状态 NSLog(@"电池当前状态:%@",[self getBatteryState]); //获取电量的等级,0.00~1.00 NSLog(@"获取电量等级:%f",[self getBatteryLevel]); //方法 //获取电池当前的状态,共有4种状态 -(NSString*) getBatteryState { UIDevice *device = [UIDevice currentDevice]; if (device.batteryState == UIDeviceBatteryStateUnknown) { return @"UnKnow未知"; }else if (device.batteryState == UIDeviceBatteryStateUnplugged){ return @"Unplugged电源已拔开"; }else if (device.batteryState == UIDeviceBatteryStateCharging){ return @"Charging充电"; }else if (device.batteryState == UIDeviceBatteryStateFull){ return @"Full充满"; } return nil; } //获取电量的等级,0.00~1.00 -(float) getBatteryLevel { return [UIDevice currentDevice].batteryLevel; }
5.获取运营商的信息
/*需导入 #import <CoreTelephony/CTCarrier.h> #import <CoreTelephony/CTTelephonyNetworkInfo.h> */ CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc]init]; //获取运行商名称 CTCarrier *carrier = [info subscriberCellularProvider]; NSString *mCarrier = [NSString stringWithFormat:@"%@",[carrier carrierName]]; //获取网络类型 NSString *mConnectType = [[NSString alloc] initWithFormat:@"%@",info.currentRadioAccessTechnology]; NSLog(@"运行商:%@",mCarrier); NSLog(@"网络类型:%@",mConnectType); /*网络类型 CTRadioAccessTechnologyGPRS //介于2G和3G之间,也叫2.5G ,过度技术 CTRadioAccessTechnologyEdge //EDGE为GPRS到第三代移动通信的过渡,EDGE俗称2.75G CTRadioAccessTechnologyWCDMA CTRadioAccessTechnologyHSDPA //亦称为3.5G(3?G) CTRadioAccessTechnologyHSUPA //3G到4G的过度技术 CTRadioAccessTechnologyCDMA1x //3G CTRadioAccessTechnologyCDMAEVDORev0 //3G标准 CTRadioAccessTechnologyCDMAEVDORevA CTRadioAccessTechnologyCDMAEVDORevB CTRadioAccessTechnologyeHRPD //电信使用的一种3G到4G的演进技术, 3.75G CTRadioAccessTechnologyLTE //接近4G */
6.网络状态监听
/*导入 系统库SystemConfiguration.framework 第三方Reachability.h */ Reachability *reach = [Reachability reachabilityWithHostName:@"www.baidu.com"]; switch([reach currentReachabilityStatus]) { case NotReachable: //未连接 NSLog(@"网络未连接"); break; case ReachableViaWiFi: //通过wifi连接 NSLog(@"wifi"); break; case ReachableViaWWAN: //通过GPRS连接 NSLog(@"CPRS"); break; default: //未知情况 break; }
本文Demo:http://download.csdn.net/detail/jackjia2015/9435384
相关文章推荐
- TCP长肥管道
- tcp 三次握手,四次挥手
- 网络请求时 返回 App Transport Security has blocked a cleartext HTTP
- 网络I/O模型
- 简单的HTTP服务实现
- linux学习之系统管理、网络配置、软件安装
- http1.0和http1.1的区别
- 如何用70行Java代码实现神经网络算法
- Java网络连接之HttpURLConnection与HttpClient 区别及联系
- HttpURLConnection简单用法
- 网络工程
- Retrofit 2.0 (v2.0.0-beta4)
- 取得编码后的HTTP字符串
- Linux常用命令之五:网络命令
- TCP/IP socket编程
- http和socket简介
- Http 信息头
- iOS开发网络数据之AFNetworking使用
- AFNetWork中使用https
- HTTP协议个人理解