Identifying the country code using mobile carrier in iPhone programmatically?

梦想的初衷 提交于 2019-12-18 12:46:03

问题


Is there any way to get the country code from mobile network. Can we get the country name of the SIM present in the Device through code?

Please Help me out in this with some working code. I checked CoreTelephony Framework but ddnt get the success.


回答1:


EDIT: With Xcode 6, simply add this line, even linking the framework to the project is done automatically:

@import CoreTelephony;

original: Add CoreTelephony.framework to your project. inside your class add this two lines:

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

this is the code:

CTTelephonyNetworkInfo *networkInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [networkInfo subscriberCellularProvider];


// Get carrier name
NSString *carrierName = [carrier carrierName];
if (carrierName != nil)
    NSLog(@"Carrier: %@", carrierName);

// Get mobile country code
NSString *mcc = [carrier mobileCountryCode];
if (mcc != nil)
    NSLog(@"Mobile Country Code (MCC): %@", mcc);

// Get mobile network code
NSString *mnc = [carrier mobileNetworkCode];

if (mnc != nil)
    NSLog(@"Mobile Network Code (MNC): %@", mnc);

Note that country code is in numeric code you can find the list here




回答2:


It is inside CoreTelephony

CTTelephonyNetworkInfo *networkInfo = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [networkInfo subscriberCellularProvider];


来源:https://stackoverflow.com/questions/13584981/identifying-the-country-code-using-mobile-carrier-in-iphone-programmatically

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!