是否可以使用iOS SDK检测LTE连接?

是否可以使用iOS SDK检测LTE连接?,ios,sdk,wireless,3g,connectivity,Ios,Sdk,Wireless,3g,Connectivity,我正在使用可达性API检测我当前的连接,但我只能区分WIFI和3G 我得到以下标志: LTE:kSCNetworkReachabilityFlagsIsLocalAddress | kSCNetworkReachabilityFlagsIsWWAN | kscnetworkreachabilityflagstressientconnection | kSCNetworkReachabilityFlagsReachable WIFI:KSCNetworkReachabilityFlagsDirec

我正在使用可达性API检测我当前的连接,但我只能区分WIFI和3G

我得到以下标志:

LTE:
kSCNetworkReachabilityFlagsIsLocalAddress | kSCNetworkReachabilityFlagsIsWWAN | kscnetworkreachabilityflagstressientconnection | kSCNetworkReachabilityFlagsReachable

WIFI:
KSCNetworkReachabilityFlagsDirect | kSCNetworkReachabilityFlagsReachable


问题是LTE返回的标志与3G连接相同。有什么方法可以确定用户当前使用的是LTE还是3G?

我想知道这个隐藏的核心电话API是否能为您提供足够的信息,让您确定您是连接到LTE还是更慢的技术

CTRegistrationGetCurrentMaxAllowedDataRate();
这可能值得一试

有关使用专用API的更多信息,请参见:


但是,我已经了解到,如果您使用私有API,您的应用程序将被苹果公司拒绝。

从iOS 7开始,您可以使用CoreTelephony框架中
CTTelephonyNetworkInfo
currentRadioAccessTechnology
属性来了解这一点

#import <CoreTelephony/CTTelephonyNetworkInfo.h>

CTTelephonyNetworkInfo *networkInfo = [CTTelephonyNetworkInfo new];

if ([networkInfo.currentRadioAccessTechnology isEqualToString:CTRadioAccessTechnologyLTE]) {
    // ...
}
#导入
CTTelephonyNetworkInfo*网络信息=[CTTelephonyNetworkInfo新];
if([networkInfo.currentRadioAccessTechnology IseQualString:CTRadioAccessTechnologyLTE]){
// ...
}

您是对网络带来的更高带宽感兴趣,还是对网络本身的类型感兴趣?前者有一个解决办法,但后者没有。我想解决办法只是简单地尝试下载一些东西并跟踪速度?有人知道为什么没有关于
currentRadioAccessTechnology
方法的文档吗?此方法添加了iOS7.0,但没有添加文档。检查头文件“CTTelephonyNetworkInfo.h”
oc@property(非原子、只读、保留)NSString*currentRadioAccessTechnology\uuuOSX\uAvailable\uStarting(\uuuMac\uNA,\uuuuuuuuIphone\u7\u0)这仍然没有正式的文档记录,这让我很紧张。我把它放在一个try-catch中,这样如果它被拿走,我就可以有一些默认行为。