CoreTelephony

获取运营商信息,需通过 CoreTelephony.Framework 中的 CTTelephonyNetworkInfo 和 CTCarrier 对象获取,这些都在iOS 4.0后就有了。

现提供源码,支持arc与非arc编译,使用时请引入 CoreTelephony.Framework 框架

MobileCountryCode.h + MobileCountryCode.m

//
// MobileCountryCode.h
//
// http://en.wikipedia.org/wiki/Mobile_Network_Code
//
// Created by YouXian on 14-3-24.
// Copyright (c) 2014年 YouXian. All rights reserved.
// #import <Foundation/Foundation.h>
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
#import <CoreTelephony/CTCarrier.h> #warning 使用前请引入 CoreTelephony.framework 框架 @interface MobileCountryCode : NSObject /**
获取当前运营商的标识符 @return 返回运营商标示符(成功返回标示符,失败返回nil) 中国移动 00 02 07
中国联通 01 06
中国电信 03 05
中国铁通 20 */
+ (NSString *)serviceProvider; @end
//
// MobileCountryCode.m
//
// http://en.wikipedia.org/wiki/Mobile_Network_Code
//
// Created by YouXian on 14-3-24.
// Copyright (c) 2014年 YouXian. All rights reserved.
// #import "MobileCountryCode.h" #if __has_feature(objc_arc)
#define YX_release(obj)
#define YX_autorelease(obj)
#else
#define YX_release(obj) [obj release]
#define YX_autorelease(obj) [obj autorelease]
#endif @implementation MobileCountryCode + (NSString *)serviceProvider
{
CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init]; // information about the user’s home cellular service provider
CTCarrier *carrier = [info subscriberCellularProvider];
if (carrier == nil)
{
YX_release(carrier);
carrier = nil; return nil;
} // The mobile network code (MNC) for the user’s cellular service provider
NSString *code = [carrier mobileNetworkCode];
if (code == nil)
{
YX_release(carrier);
carrier = nil; return nil;
} return code;
} @end

运营商MNC值请参考以下链接

http://en.wikipedia.org/wiki/Mobile_Network_Code

以下为中国运营商节选

MCC MNC Brand Operator Status Bands (MHz) References and notes
460 00 China Mobile China Mobile Operational GSM 900 / GSM 1800 / TD-SCDMA 1900 / TD-SCDMA 2000 / TD-LTE 1900 / TD-LTE 2300 / TD-LTE 2600
460 01 China Unicom China Unicom Operational GSM 900 / GSM 1800 / UMTS 2100 / TD-LTE 2300 / TD-LTE 2600 / FDD-LTE 1800 CDMA network sold to China Telecom, WCDMA commercial trial started in May 2009 and in full commercial operation as of October 2009.
460 02 China Mobile China Mobile Not Operational GSM 900 / GSM 1800 / TD-SCDMA 1900 / TD-SCDMA 2000 / TD-LTE 1900 / TD-LTE 2300 / TD-LTE 2600  
460 03 China Telecom China Telecom Operational CDMA2000 800 / CDMA2000 2100 / FDD-LTE 2100 / TD-LTE 2300 / TD-LTE 2600 EV-DO
460 05 China Telecom China Telecom Not Operational CDMA2000 800 / CDMA2000 2100 / FDD-LTE 2100 / TD-LTE 2300 / TD-LTE 2600  
460 06 China Unicom China Unicom Not Operational GSM 900 / GSM 1800 / UMTS 2100  
460 07 China Mobile China Mobile Not Operational GSM 900 / GSM 1800 / TD-SCDMA 1900 / TD-SCDMA 2000 / TD-LTE 1900 / TD-LTE 2300 / TD-LTE 2600  
460 20 China Tietong China Tietong Operational GSM-R  

最新文章

  1. 解决Odoo出现的Unable to send email, please configure the sender&#39;s email address or alias.
  2. Linux定时,计划任务cron
  3. Wex5页面事件执行顺序
  4. android开发中的变量名称
  5. R语言多重共现性的检测
  6. sublime text 3 扩展插件SideBarEnhancements用法教程
  7. spring-data-redis工程
  8. Objective-C中的block块语法
  9. fedora 挂载 小米手机 (估计其它android设备也是类似操作)
  10. RFCN配置参数
  11. Shell 错误输出重定向
  12. VSCode配置TypeScript
  13. java学习路线图(2018年最新版)
  14. 用python实现各种排序算法
  15. C# 控件绘制
  16. Python自动化之复习基础
  17. Spark的基本说明
  18. 用EC5/EC6自定义class的区别及用法 -- Phaser3网页游戏框架
  19. 在WPF中合并两个ObservableCollection
  20. 《挑战程序设计竞赛》2.2 贪心法-区间 POJ2376 POJ1328 POJ3190

热门文章

  1. EFK收集Kubernetes应用日志
  2. python错误:UnicodeDecodeError: &#39;utf8&#39; codec can&#39;t decode byte 0xe6 in position 0: unexpected end of data
  3. 几种JS&amp;CSS框架
  4. Eclipse中syso 快捷键 Alt + / 不能使用的问题
  5. thinkphp调整框架核心目录think的位置
  6. poj1730 - Perfect Pth Powers(完全平方数)(水题)
  7. 数据挖掘算法:关联分析二(Apriori)
  8. react篇章-事件处理
  9. 第二波分析:德国是2018世界杯夺冠最大热门? Python数据分析来揭开神秘面纱… (附源代码)
  10. 机器学习之路: python nltk 文本特征提取