【问题标题】:How to get Signal strength (RSRP/RSSI/RSRQ/SINR), cell ID (LTE/3G/2G) of iPhone network如何获取 iPhone 网络的信号强度 (RSRP/RSSI/RSRQ/SINR)、小区 ID (LTE/3G/2G)
【发布时间】:2019-01-04 12:42:54
【问题描述】:

我正在使用代码获取信号强度,但每次都返回 0。请建议我,我怎样才能找到信号强度。

func getSignalStrength() -> Int {

    let application = UIApplication.shared
    let statusBarView = application.value(forKey: "statusBar") as! UIView
    let foregroundView = statusBarView.value(forKey: "foregroundView") as! UIView
    let foregroundViewSubviews = foregroundView.subviews

    var dataNetworkItemView:UIView!

    for subview in foregroundViewSubviews {
        if subview.isKind(of: NSClassFromString("UIStatusBarSignalStrengthItemView")!) {
            dataNetworkItemView = subview
            break
        } else {
            return 0 //NO SERVICE
        }
    }

    return dataNetworkItemView.value(forKey: "signalStrengthBars") as! Int

}

【问题讨论】:

    标签: ios iphone swift


    【解决方案1】:

    没有官方支持的方式来获取蜂窝信号强度。可能是一些 Private Api 可以做这些事情,但它的非法和应用程序将被拒绝

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 2014-04-23
      • 2016-08-07
      • 2023-03-17
      相关资源
      最近更新 更多