【问题标题】:Is there any way to know what network an iPhone is connected to (LTE vs GSM)有什么方法可以知道 iPhone 连接到哪个网络(LTE 与 GSM)
【发布时间】:2012-10-01 05:41:30
【问题描述】:

随着 iOS 6 和 iphone 5 的发布,我试图弄清楚我的应用如何知道手机是处于 LTE 模式还是 GSM 模式。

我没有看到 Reachability API 的任何更新,它可以提供它是连接到 Wifi 还是 WWAN,但我需要知道它是哪种 WWAN 连接。

有什么想法吗?

【问题讨论】:

    标签: iphone objective-c ios6 reachability lte


    【解决方案1】:

    从 iOS 7 开始,您可以使用 CoreTelephony 框架中 CTTelephonyNetworkInfocurrentRadioAccessTechnology 属性来查找此信息。

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

    【讨论】:

    • +1 谢谢你 - 我在 iOS7 中也找到了这个 API。是时候了!
    • 有谁知道为什么没有关于currentRadioAccessTechnology 方法的文档? developer.apple.com/library/ios/documentation/…
    • 虽然这会检测您的设备支持哪种无线电接入技术,但它不一定会为您提供当前使用的技术。因此,如果我有一部支持 LTE 的 iPhone,但我碰巧在一个只有 3G 数据的区域,此代码仍会报告 LTE。
    【解决方案2】:

    对于 iO6 及以下,您不能这样做。

    我在 Apple 开发者论坛上有 asked this question,Apple 确认他们还没有此功能。

    您可以提交feature request bug。我已经这样做了(#12375460),但是重复的次数越多,实现的机会就越大。

    这也是this question 的副本。

    【讨论】:

    • 这真是太可惜了,因为这似乎是一个网上常见的问题。我还将添加一个功能请求,看看我是否可以帮助推动 Apple 实现这一点。
    猜你喜欢
    • 1970-01-01
    • 2022-07-26
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多