Checking cellular network type in iOS

YSTai picture YSTai · Mar 5, 2012 · Viewed 9.2k times · Source

I am working on an iOS app, and want to determine which type of cellular connection the device has.

I'm most interested in the kind of cellular network my device is using: 2G or 3G, or other.

However, the Reachability.h only provides checking for wifi or 3G.

How can I check for 2G, 3G, etc?

Answer

Nishant picture Nishant · Nov 17, 2014

in iOS 7.0+ we have CoreTelephony framework which can provide us the required details about network type.

CTTelephonyNetworkInfo *telephonyInfo = [[CTTelephonyNetworkInfo alloc] init];
    NSString *currentRadio = telephonyInfo.currentRadioAccessTechnology;
    if ([currentRadio isEqualToString:CTRadioAccessTechnologyLTE]) {
        // LTE

    } else if([currentRadio isEqualToString:CTRadioAccessTechnologyEdge]) {
        // EDGE

    } else if([currentRadio isEqualToString:CTRadioAccessTechnologyWCDMA]){
        // 3G

    }