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



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

我得到以下标志:

LTE:kSCNetworkReachabilityFlagsIsLocalAddress|kSCNetworkReachabilityFlagsIsWWAN|kSCNetworkReachabilityFlagsTransientConnection|kSCNetworkReachabilityFlagsReachable

无线网络:kSCNetworkReachabilityFlagsIsDirect|kSCNetworkReachabilityFlagsReachable

问题是LTE返回与3G连接相同的标志。有没有办法确定用户目前是否拥有LTE或3G?

从iOS 7开始,您可以使用CoreTelephony框架中CTTelephonyNetworkInfocurrentRadioAccessTechnology属性找到这一点。

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

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

CTRegistrationGetCurrentMaxAllowedDataRate();

可能值得尝试一下。

有关使用私有 API 的更多信息,请参阅:使用 Core 电话的 iPhone 手机号码

但是,我读到,如果您使用私有 API,您的应用程序将被苹果拒绝。

相关内容

  • 没有找到相关文章

最新更新