我正在使用可访问性API来检测我当前的连接,但我只能区分WIFI和3G.
我得到以下标志:
LTE:kSCNetworkReachabilityFlagsIsLocalAddress | kSCNetworkReachabilityFlagsIsWWAN | kSCNetworkReachabilityFlagsTransientConnection | kSCNetworkReachabilityFlagsReachable
WIFI:kSCNetworkReachabilityFlagsIsDirect | kSCNetworkReachabilityFlagsReachable
问题是LTE返回与3G连接相同的标志.有没有办法确定用户目前是否有LTE或3G?
解决方法
从iOS 7开始,您可以使用CoreTelephony框架中CTTelephonyNetworkInfo的currenTradioAccesstechnology属性找到它.
#import <CoreTelephony/CTTelephonyNetworkInfo.h> CTTelephonyNetworkInfo *networkInfo = [CTTelephonyNetworkInfo new]; if ([networkInfo.currenTradioAccesstechnology isEqualToString:CTradioAccesstechnologyLTE]) { // ... }