iOS判断运营商类型的实现方法

一、获取运营类型

1、需要导入两个头文件

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

2、判断类型

// 获取运营商类型
+ (SSOperatorsType)getOperatorsType{
  CTTelephonyNetworkInfo *telephonyInfo = [[CTTelephonyNetworkInfo alloc] init];
  CTCarrier *carrier = [telephonyInfo subscriberCellularProvider];

  NSString *currentCountryCode = [carrier mobileCountryCode];
  NSString *mobileNetWorkCode = [carrier mobileNetworkCode];

  if (![currentCountryCode isEqualToString:@"460"]) {
    return SSOperatorsTypeOther;
  }

  // 参考 https://en.wikipedia.org/wiki/Mobile_country_code

  if ([mobileNetWorkCode isEqualToString:@"00"] ||
    [mobileNetWorkCode isEqualToString:@"02"] ||
    [mobileNetWorkCode isEqualToString:@"07"]) {

    // 中国移动
    return SSOperatorsTypeChinaMobile;
  }

  if ([mobileNetWorkCode isEqualToString:@"01"] ||
    [mobileNetWorkCode isEqualToString:@"06"] ||
    [mobileNetWorkCode isEqualToString:@"09"]) {

    // 中国联通
    return SSOperatorsTypeChinaUnicom;
  }

  if ([mobileNetWorkCode isEqualToString:@"03"] ||
    [mobileNetWorkCode isEqualToString:@"05"] ||
    [mobileNetWorkCode isEqualToString:@"11"]) {

    // 中国电信
    return SSOperatorsTypeTelecom;
  }

  if ([mobileNetWorkCode isEqualToString:@"20"]) {

    // 中国铁通
    return SSOperatorsTypeChinaTietong;
  }

  return SSOperatorsTypeOther;
}

以上这篇iOS判断运营商类型的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。