¿Es posible detectar una connection LTE con iOS SDK?

Estoy usando la API de accesibilidad para detectar mi connection actual, pero solo puedo distinguir entre Wi-Fi y 3G.

Obtengo las siguientes banderas:

LTE: kSCNetworkReachabilityFlagsIsLocalAddress|kSCNetworkReachabilityFlagsIsWWAN|kSCNetworkReachabilityFlagsTransientConnection|kSCNetworkReachabilityFlagsReachable

WIFI: kSCNetworkReachabilityFlagsIsDirect|kSCNetworkReachabilityFlagsReachable

El problema es que LTE devuelve los mismos indicadores que una connection 3G. ¿Hay alguna forma de determinar si el usuario actualmente tiene LTE o 3G?

A partir de iOS 7, puede encontrar esto utilizando la propiedad CTTelephonyNetworkInfo de CTTelephonyNetworkInfo en el marco CoreTelephony.

 #import <CoreTelephony/CTTelephonyNetworkInfo.h> CTTelephonyNetworkInfo *networkInfo = [CTTelephonyNetworkInfo new]; if ([networkInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyLTE]) { // ... } 

Me pregunto si esta API oculta de Core Telephony puede proporcionarle información suficiente para determinar si está conectado a una tecnología LTE o más lenta.

 CTRegistrationGetCurrentMaxAllowedDataRate(); 

Podría valer la pena experimentar con.

Más información sobre el uso de API privadas aquí: número de mobile de iPhone que usa la telefonía central

Sin embargo, he leído que su aplicación será rechazada por Apple si usa API privadas.