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判断运营商类型的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

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

    一.获取运营类型 1.需要导入两个头文件 #import <CoreTelephony/CTCarrier.h> #import <CoreTelephony/CTTelephonyNetworkInfo.h> 2.判断类型 // 获取运营商类型 + (SSOperatorsType)getOperatorsType{ CTTelephonyNetworkInfo *telephonyInfo = [[CTTelephonyNetworkInfo alloc] init]; CTC

  • Java手机号码工具类示例详解(判断运营商、获取归属地)

    所需引用Jar包 <dependency> <groupId>com.googlecode.libphonenumber</groupId> <artifactId>geocoder</artifactId> <version>2.15</version> </dependency> <dependency> <groupId>com.googlecode.libphonenumber&

  • PHP根据手机号判断运营商(详细介绍附代码)

    道理很简单,知道手机号规则 进行正则判断就可以 移动:134.135.136.137.138.139.150.151.157(TD).158.159.187.188 联通:130.131.132.152.155.156.185.186 电信:133.153.180.189.(1349卫通) HTML页面 <!DOCTYPE html> <html lang="en"> <head> <title>手机号归属</title> &

  • IOS判断字符串是不是纯数字的方法总结

    前言 在大家开发项目的时候,遇到需求可能是让我们只输入一段纯数字,这时候我们就要对这个字符串进行筛选判断,不符合纯数字进行提示操作,以求达到最好的交互效果也能满足需求. 下面介绍几种判断字符串是否为纯数字的方法 第一种方式是使用NSScanner: 1. 整形判断 - (BOOL)isPureInt:(NSString *)string{ NSScanner* scan = [NSScanner scannerWithString:string]; int val; return [scan s

  • iOS判断身份证号码是否正确的方法

    ①根据百度百科中身份证号码的标准实现该方法 ②该方法只能判断18位身份证,且不能判断身份证号码和姓名是否对应(要看姓名和号码是否对应,应该有大量的数据库做对比才能实现) ③直接copy这段代码,就能通过调用这个方法判断身份证号码是否符合标准,非常easy /** * 验证身份证号码是否正确的方法 * * @param IDNumber 传进身份证号码字符串 * * @return 返回YES或NO表示该身份证号码是否符合国家标准 */ - (BOOL)isCorrect:(NSString *)

  • Android编程获取网络连接方式及判断手机卡所属运营商的方法

    本文实例讲述了Android编程获取网络连接方式及判断手机卡所属运营商的方法.分享给大家供大家参考,具体如下: 问题:项目中写的网络模块,感觉有点乱:两套代码 --模拟器.真机,维护起来十分麻烦. 解决办法:代码自动去检查到那种网络环境,然后调用不同的联网方式. 查看了模拟器上默认的接入点:移动网络 -- APN = "internet" 1.通过获取apn的名称,来判断网络 // 获取Mobile网络下的cmwap.cmnet private int getCurrentApnInU

  • js判断手机号运营商的方法

    本文实例讲述了js判断手机号运营商的方法.分享给大家供大家参考.具体如下: 在做WEB项目时,有时候需要根据用户的输入手机号码判断该号的运营商是移动.联通.电信或其他,再根据不同的运营商做出相应的处理,下面介绍js中如何判断手机号的运营商的代码. js实现方法: var isChinaMobile = /^134[0-8]\\d{7}$|^(?:13[5-9]|147|15[0-27-9]|178|18[2-478])\\d{8}$/; //移动方面最新答复 var isChinaUnion =

  • Android 判断SIM卡属于哪个移动运营商详解及实例

    Android 判断SIM卡属于哪个移动运营商 第一种方法: 获取手机的IMSI码,并判断是中国移动\中国联通\中国电信 TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); /** 获取SIM卡的IMSI码 * SIM卡唯一标识:IMSI 国际移动用户识别码(IMSI:International Mobile Subscriber Identification

  • Android 判断SIM卡是中国移动\中国联通\中国电信(移动运营商)

    第一种方法: 获取手机的IMSI码,并判断是中国移动\中国联通\中国电信 TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); /** 获取SIM卡的IMSI码 * SIM卡唯一标识:IMSI 国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户的标志, * 储存在

  • JS判断浏览器类型与操作系统的方法分析

    本文实例讲述了JS判断浏览器类型与操作系统的方法.分享给大家供大家参考,具体如下: navigator.userAgent : userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值. navigator.platform : platform 属性是一个只读的字符串,声明了运行浏览器的操作系统和(或)硬件平台. 判断浏览器类型 IE浏览器 ie = ua.match( /MSIE\s([\d\.]+)/ ) || ua.match( /(?:trident

随机推荐