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

时间:2022-09-07 20:15:57

一、获取运营类型

1、需要导入两个头文件

?
1
2
#import <CoreTelephony/CTCarrier.h>
#import <CoreTelephony/CTTelephonyNetworkInfo.h>

2、判断类型

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// 获取运营商类型
+ (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判断运营商类型的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。