Как получить уровень сигнала (RSRP / RSSI / RSRQ / SINR), идентификатор соты (LTE / 3G / 2G) сети iPhone - PullRequest
0 голосов
/ 04 января 2019

Я использую код для получения уровня сигнала, но он каждый раз возвращает 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

}

1 Ответ

0 голосов
/ 04 января 2019

Официальных поддерживаемых способов получения уровня сигнала сотовой связи не существует. Может быть, некоторые частные Api могут делать такие вещи, но его незаконное и приложение будет отклонено

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...