• iOS获取运营商的相关信息


    1.导入:CoreTelephony.framework

    2.添加头文件

    #import <CoreTelephony/CTTelephonyNetworkInfo.h>  
    #import <CoreTelephony/CTCarrier.h>  

    3.获取网络环境

        -(void)networktype{  
            NSArray *subviews = [[[[UIApplication sharedApplication] valueForKey:@"statusBar"] valueForKey:@"foregroundView"]subviews];  
            NSNumber *dataNetworkItemView = nil;  
              
            for (id subview in subviews) {  
                if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]]) {  
                    dataNetworkItemView = subview;  
                    break;  
                }  
            }  
              
            switch ([[dataNetworkItemView valueForKey:@"dataNetworkType"]integerValue]) {  
                case 0:  
                    NSLog(@"No wifi or cellular");  
                    infoLabel.text=@"无服务";  
                    break;  
                      
                case 1:  
                    NSLog(@"2G");  
                    infoLabel.text=@"2G";  
                    break;  
                      
                case 2:  
                    NSLog(@"3G");  
                    infoLabel.text=@"3G";  
                    break;  
                      
                case 3:  
                    NSLog(@"4G");  
                    infoLabel.text=@"4G";  
                    break;  
                      
                case 4:  
                    NSLog(@"LTE");  
                    infoLabel.text=@"LTE";  
                    break;  
                      
                case 5:  
                    NSLog(@"Wifi");  
                    infoLabel.text=@"Wifi";  
                    break;  
                      
                      
                default:  
                    break;  
            }}  

    4.获取运营商信息

    + (BOOL)isInChina{
        
        CTTelephonyNetworkInfo *telephonyInfo = [[CTTelephonyNetworkInfo alloc] init];
        CTCarrier *carrier = [telephonyInfo subscriberCellularProvider];
        //NSString *currentCountry = [carrier carrierName];
        NSLog(@"[carrier carrierName]==%@,[carrier mobileCountryCode]==%@,[carrier mobileNetworkCode]==%@,[carrier isoCountryCode]==%@,[carrier allowsVOIP]==%d",[carrier carrierName],[carrier mobileCountryCode],[carrier mobileNetworkCode],[carrier isoCountryCode],[carrier allowsVOIP]);
        
        if ([[carrier mobileCountryCode] isEqualToString:@"460"]) {
            return YES;
        }else{
            return NO;
        }
        
    }

    获取运营商的截图:

  • 相关阅读:
    hdoj_1711Number Sequence
    心痛
    2012国信蓝桥初赛试题
    poj_2524Ubiquitous Religions
    poj_2406Power Strings && poj_1961Period && poj_2752Seek the Name, Seek the Fame(KMP)
    POJ并查集小结
    并查集模版
    hdoj_1232畅通工程 && hdoj_1272小希的迷宫 && hdoj_1213How Many Tables && Is It A Tree?
    poj_1611The Suspects
    KMP模版
  • 原文地址:https://www.cnblogs.com/wobuyayi/p/5674389.html
Copyright © 2020-2023  润新知