[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
原创粉丝点击