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?
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
}