Is it possible to detect LTE connection using iOS SDK?

3g, connectivity, ios, sdk, wireless

Solution

As of iOS 7, you can find this out using the `currentRadioAccessTechnology` property of `CTTelephonyNetworkInfo` in the CoreTelephony framework.

#import <CoreTelephony/CTTelephonyNetworkInfo.h>

CTTelephonyNetworkInfo *networkInfo = [CTTelephonyNetworkInfo new];

if ([networkInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyLTE]) {
    // ...
}

Problem

I'm using the reachability API to detect my current connection, but I can only distinguish between WIFI and 3G. I get the following flags: LTE: `kSCNetworkReachabilityFlagsIsLocalAddress|kSCNetworkReachabilityFlagsIsWWAN|kSCNetworkReachabilityFlagsTransientConnection|kSCNetworkReachabilityFlagsReachable` WIFI: `kSCNetworkReachabilityFlagsIsDirect|kSCNetworkReachabilityFlagsReachable` The problem is that LTE returns the same flags as a 3G connection. Is there any way to determine whether the user currently has LTE or 3G?

Original source

Related problems