Я использую код для получения уровня сигнала, но он каждый раз возвращает 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 }
Официальных поддерживаемых способов получения уровня сигнала сотовой связи не существует. Может быть, некоторые частные Api могут делать такие вещи, но его незаконное и приложение будет отклонено