[iOS开发]日常需求八:获取设备相关信息的总结
来源:互联网 发布:淘宝怎么加入客服 编辑:程序博客网 时间:2024/06/06 12:45
1、通过UIDevice获取设备的相关信息
//获取设备的信息-(void)getDeviceInfomation{ UIDevice* device = [UIDevice currentDevice]; NSString* name = device.name; //获取设备所有者名称 NSString* model = device.model; //获取设备类别 NSString* type = device.localizedModel; //获取本地化版本 NSString* systemName = device.systemName; //获取当前运行的系统 NSString* systemVersion = device.systemVersion; //获取当前系统版本 NSLog(@"\n device.name : %@ \n device.model : %@ \n device.localizedModel : %@ \n device.systemName : %@ \n device.systemVersion : %@",name,model,type,systemName,systemVersion);}
2、获取运行商相关信息
//获取运营商信息需要导入的头文件#import <CoreTelephony/CTCarrier.h>#import <CoreTelephony/CTTelephonyNetworkInfo.h>//获取当前设备的运营商信息-(void)getTelephonyNetworkInfo{ CTTelephonyNetworkInfo* info = [[CTTelephonyNetworkInfo alloc]init]; CTCarrier* carrier = [info subscriberCellularProvider]; NSLog(@"\n TelephonyNetworkInfo : %@",[carrier carrierName]);}
3、获取设备的版本信息
//获取设备版本头文件#import "sys/utsname.h"//获取设备版本-(NSString* )getDeviceVersion{ //需要导入#import "sys/utsname.h" struct utsname systemInfo; uname(&systemInfo); NSString* deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; //iPhone if ([deviceString isEqualToString:@"iPhone1,1"]) return @"iPhone 1G"; if ([deviceString isEqualToString:@"iPhone1,2"]) return @"iPhone 3G"; if ([deviceString isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS"; if ([deviceString isEqualToString:@"iPhone3,1"]) return @"iPhone 4"; if ([deviceString isEqualToString:@"iPhone3,2"]) return @"Verizon iPhone 4"; if ([deviceString isEqualToString:@"iPhone4,1"]) return @"iPhone 4S"; if ([deviceString isEqualToString:@"iPhone5,1"]) return @"iPhone 5"; if ([deviceString isEqualToString:@"iPhone5,2"]) return @"iPhone 5"; if ([deviceString isEqualToString:@"iPhone5,3"]) return @"iPhone 5C"; if ([deviceString isEqualToString:@"iPhone5,4"]) return @"iPhone 5C"; if ([deviceString isEqualToString:@"iPhone6,1"]) return @"iPhone 5S"; if ([deviceString isEqualToString:@"iPhone6,2"]) return @"iPhone 5S"; if ([deviceString isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus"; if ([deviceString isEqualToString:@"iPhone7,2"]) return @"iPhone 6"; if ([deviceString isEqualToString:@"iPhone8,1"]) return @"iPhone 6s"; if ([deviceString isEqualToString:@"iPhone8,2"]) return @"iPhone 6s Plus"; //iPod if ([deviceString isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G"; if ([deviceString isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G"; if ([deviceString isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G"; if ([deviceString isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G"; if ([deviceString isEqualToString:@"iPod5,1"]) return @"iPod Touch 5G"; //iPad if ([deviceString isEqualToString:@"iPad1,1"]) return @"iPad"; if ([deviceString isEqualToString:@"iPad2,1"]) return @"iPad 2 (WiFi)"; if ([deviceString isEqualToString:@"iPad2,2"]) return @"iPad 2 (GSM)"; if ([deviceString isEqualToString:@"iPad2,3"]) return @"iPad 2 (CDMA)"; if ([deviceString isEqualToString:@"iPad2,4"]) return @"iPad 2 (32nm)"; if ([deviceString isEqualToString:@"iPad2,5"]) return @"iPad mini (WiFi)"; if ([deviceString isEqualToString:@"iPad2,6"]) return @"iPad mini (GSM)"; if ([deviceString isEqualToString:@"iPad2,7"]) return @"iPad mini (CDMA)"; if ([deviceString isEqualToString:@"iPad3,1"]) return @"iPad 3(WiFi)"; if ([deviceString isEqualToString:@"iPad3,2"]) return @"iPad 3(CDMA)"; if ([deviceString isEqualToString:@"iPad3,3"]) return @"iPad 3(4G)"; if ([deviceString isEqualToString:@"iPad3,4"]) return @"iPad 4 (WiFi)"; if ([deviceString isEqualToString:@"iPad3,5"]) return @"iPad 4 (4G)"; if ([deviceString isEqualToString:@"iPad3,6"]) return @"iPad 4 (CDMA)"; if ([deviceString isEqualToString:@"iPad4,1"]) return @"iPad Air"; if ([deviceString isEqualToString:@"iPad4,2"]) return @"iPad Air"; if ([deviceString isEqualToString:@"iPad4,3"]) return @"iPad Air"; if ([deviceString isEqualToString:@"iPad5,3"]) return @"iPad Air 2"; if ([deviceString isEqualToString:@"iPad5,4"]) return @"iPad Air 2"; if ([deviceString isEqualToString:@"i386"]) return @"Simulator"; if ([deviceString isEqualToString:@"x86_64"]) return @"Simulator"; if ([deviceString isEqualToString:@"iPad4,4"] ||[deviceString isEqualToString:@"iPad4,5"] ||[deviceString isEqualToString:@"iPad4,6"]) return @"iPad mini 2"; if ([deviceString isEqualToString:@"iPad4,7"] ||[deviceString isEqualToString:@"iPad4,8"] ||[deviceString isEqualToString:@"iPad4,9"]) return @"iPad mini 3"; return deviceString; }
4、通过UIDevice获取设备的电池相关#pragma mark - 获取电池相关信息
#pragma mark - 获取电池相关信息//获取电池状态-(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;}-(void)getBatteryInfo{ NSString* state = [self getBatteryState]; float level = [self getBatteryLevel] * 100;}//打开对电量和电池状态的监控,类似定时器的功能-(void)didLoad{ [[UIDevice currentDevice]setBatteryMonitoringEnabled:YES]; [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(getBatteryInfo:) name:UIDeviceBatteryStateDidChangeNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getBatteryInfo:) name:UIDeviceBatteryLevelDidChangeNotification object:nil]; [NSTimer scheduledTimerWithTimeInterval:0.5f target:self selector:@selector(getBatteryInfo:) userInfo:nil repeats:YES];}
整个项目的demo可以通过这里下载。
0 0
- [iOS开发]日常需求八:获取设备相关信息的总结
- 获取iOS设备的相关信息
- iOS设备相关信息获取
- iOS 获取设备相关信息
- iOS获取设备相关信息
- 获取ios设备信息的简要总结
- iOS开发小技巧 获取当前设备/应用程序相关信息
- iOS 设备获取设备相关信息
- ios获取设备信息总结
- ios获取设备信息总结
- ios获取设备信息总结
- ios获取设备信息总结
- ios获取设备信息总结
- ios获取设备信息总结
- iOS获取设备信息总结
- ios获取设备信息总结
- iOS获取设备信息总结
- iOS获得设备相关信息,获取app相关信息
- cron表达式详解
- web.xml之context-param,listener,filter,servlet加载顺序及其周边
- Java集合
- eclipse中git项目libraries出现jar包混乱解决方式
- HDU 1032 The 3n + 1 problem
- [iOS开发]日常需求八:获取设备相关信息的总结
- React Native添加Android原生模块
- 解锁Dagger2使用姿势(二) 之带你理解@Scope
- MVVM-框架介绍
- Minor GC和Full GC区别
- 谈谈我个人对_安卓的性能_优化看法
- textarea标签赋值、jsonp对象转string、ajax跨域访问以及JSON.stringify() 和JSON.parse()区别
- error C2220: 警告被视为错误 - 没有生成“object”文件
- PHP实现执行定时任务的几种思路详解