Get iOS Carrier Information: Mobile Network Code (MNC) and Mobile Country Code (MCC)

With the release of iOS 4, Apple introduced two new frameworks for obtaining carrier information. CTCarrier offers information about the cellular provider including the carrier name, Mobile Network Code and Mobile Carrier Code. CTTelephonyNetworkInfo is the channel to access information through CTCarrier, this class also provides an update notifier if you need to detect changes to a changes in cellular provider information, for example, if the user swaps out there SIM card.

Also, before you build your app, add the CoreTelephony.framework to your project.

#import <CoreTelephony/CTCarrier.h>
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
 
// Setup the Network Info and create a CTCarrier object
CTTelephonyNetworkInfo *networkInfo = [[[CTTelephonyNetworkInfo alloc] init] autorelease];
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);

The output of this code on my iPhone is below:

Lists of MCC and MNC

Wikipedia Mobile Country Codes

Wikipedia Mobile Network Codes (US Only)

MCC and MNC Worldwide

  1. Nice tutorial.Can we get the incoming mobile number too by using this core telephony framework.Actually I saw an app named “Agile Reply” in that Appstore He is getting the incoming call number.Can u suggest how cud it possible to do so.

    Hope I will get a quick response for this.

    Thank you,
    Monish.

  2. Thanks for the update and sample code.
    By the way, can we get the MCC and MNC of the network that the iPhone is attaching, especially when it is in roaming? Thanks.

  3. can please tell what is Mobile network code of boost Mobile and Sprint PCS

  4. The post was really helpful.

    Is there any way (programmatically) to find out how minutes are left in one’s account?

Comments are closed.