美文网首页
iOS获取系统信息,设备的型号

iOS获取系统信息,设备的型号

作者: 怪兽密保 | 来源:发表于2016-11-09 17:30 被阅读0次

    获取网络状态

    //通过状态栏获取当前网络类型(隐藏状态栏就不可用)
    //type数字对应的网络状态依次是 : 0 - 无网络 ; 1 - 2G ; 2 - 3G ; 3 - 4G ; 5 - WIFI
    + (NSString *)getCurrentNetworkType{
        
        UIApplication *app = [UIApplication sharedApplication];
        
        NSArray *children = [[[app valueForKeyPath:@"statusBar"] valueForKeyPath:@"foregroundView"] subviews];
        
        int type = 0;
        for (id child in children)
        {
            if ([child isKindOfClass:NSClassFromString(@"UIStatusBarDataNetworkItemView")]) {
                type = [[child valueForKeyPath:@"dataNetworkType"] intValue];
                break;
            }
        }
        
        if (type == 1) return @"2G";
        if (type == 2) return @"3G";
        if (type == 3) return @"4G";
        if (type == 5) return @"WiFi";
        return @"无网络";
    }
    

    获取 App 版本

    // 获取 App 版本
    + (NSString *)getAppVersion {
        
        return [NSBundle mainBundle].infoDictionary[Version_KEY];
    }
    

    获取ios的版本

    // 获取ios版本
    + (NSString *)getIOSVersion {
        
    //转成float类型[[[UIDevice currentDevice] systemVersion] floatValue]
        return [[UIDevice currentDevice] systemVersion];
    }
    

    判断是否是iPad

    // 判断是否iPad
    + (BOOL)isiPad {
        
        struct utsname systemInfo;
        
        uname(&systemInfo);
        
        NSString *platform = [NSString stringWithCString:systemInfo.machine encoding:NSASCIIStringEncoding];
        
        if([platform rangeOfString:@"iPad"].location != NSNotFound){
            return YES;
        }else {
            return NO;
        }
        
    }
    

    获取设备的型号

    // 获取当前手机型号
    + (NSString *)iphoneType {
        //需要导入头文件#import <sys/utsname.h>
        struct utsname systemInfo;
        
        uname(&systemInfo);
        
        NSString *platform = [NSString stringWithCString:systemInfo.machine encoding:NSASCIIStringEncoding];
        
        if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 2G";
        
        if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G";
        
        if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS";
        
        if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4";
        
        if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone 4";
        
        if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone 4";
        
        if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S";
        
        if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5";
        
        if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5";
        
        if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c";
        
        if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c";
        
        if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s";
        
        if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s";
        
        if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus";
        
        if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6";
        
        if ([platform isEqualToString:@"iPhone8,1"]) return @"iPhone 6s";
        
        if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone 6s Plus";
        
        if ([platform isEqualToString:@"iPhone8,4"]) return @"iPhone SE";
        
        if ([platform isEqualToString:@"iPhone9,1"]) return @"iPhone 7";
        
        if ([platform isEqualToString:@"iPhone9,2"]) return @"iPhone 7 Plus";
        
        if ([platform isEqualToString:@"iPod1,1"])  return @"iPod Touch 1G";
        
        if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G";
        
        if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G";
        
        if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G";
        
        if ([platform isEqualToString:@"iPod5,1"]) return @"iPod Touch 5G";
        
        if ([platform isEqualToString:@"iPod7,1"]) return @"iPod Touch 6G";
        
        if ([platform isEqualToString:@"iPad1,1"]) return @"iPad 1G";
        
        if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2";
        
        if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2";
        
        if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2";
        
        if ([platform isEqualToString:@"iPad2,4"]) return @"iPad 2";
        
        if ([platform isEqualToString:@"iPad2,5"]) return @"iPad Mini 1G";
        
        if ([platform isEqualToString:@"iPad2,6"]) return @"iPad Mini 1G";
        
        if ([platform isEqualToString:@"iPad2,7"]) return @"iPad Mini 1G";
        
        if ([platform isEqualToString:@"iPad3,1"]) return @"iPad 3";
        
        if ([platform isEqualToString:@"iPad3,2"]) return @"iPad 3";
        
        if ([platform isEqualToString:@"iPad3,3"]) return @"iPad 3";
        
        if ([platform isEqualToString:@"iPad3,4"]) return @"iPad 4";
        
        if ([platform isEqualToString:@"iPad3,5"]) return @"iPad 4";
        
        if ([platform isEqualToString:@"iPad3,6"]) return @"iPad 4";
        
        if ([platform isEqualToString:@"iPad4,1"]) return @"iPad Air";
        
        if ([platform isEqualToString:@"iPad4,2"]) return @"iPad Air";
        
        if ([platform isEqualToString:@"iPad4,3"]) return @"iPad Air";
        
        if ([platform isEqualToString:@"iPad4,4"]) return @"iPad Mini 2G";
        
        if ([platform isEqualToString:@"iPad4,5"]) return @"iPad Mini 2G";
        
        if ([platform isEqualToString:@"iPad4,6"]) return @"iPad Mini 2G";
        
        if ([platform isEqualToString:@"i386"])    return @"iPhone Simulator";
        
        if ([platform isEqualToString:@"x86_64"])  return @"iPhone Simulator";
        
        return @"识别不出设备";
        
    }
    

    相关文章

      网友评论

          本文标题:iOS获取系统信息,设备的型号

          本文链接:https://www.haomeiwen.com/subject/qgzcyttx.html