I am looking for an API to get the Cellular Network signal Strength. Can someone help with the information.

I am looking for way to get the network signal strength. Is there an API that Apple supports to get that information?

Replies

Is there an API that Apple supports to get that information?

No. See this thread.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

@eskimo Thanks for your reply. My goal is to get the number of signal bars. I tried using one of the Apple API. Please find the description below:
I found MetricKit description in Apple Documentation and found MXUnitSignalBars to get number of signal bars. Please find the code below:

import MetricKit
let metricManager = MXUnitSignalBars.bars


This is not returning number of signal bars. Am I missing something or is there any entitlement that I need inorder to get the signal bars?
Also, to get the WiFi signal strength, I found this -> https://developer.apple.com/documentation/networkextension/nehotspotnetwork/1618923-signalstrength .
Is this public or do we need special entitlement to use this?

Ah, MetricKit, I forgot about that. I’m glad you pointed it out.

Alas, it does not do what you want it to do. MetricKit does not provide a way for you to fetch a metric right now. Rather, it periodically calls your app with metrics. And by “periodically” I mean something along the lines of once per day.

For more background on this, see:

Given the above, let me tweak my original response: There is no supported way to get the cellular signal strength in real-time.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"
I have been asking for this for 6 years and Quinn always replies nicely and with no positive response. The same function that is accessed by using the dialer dial *3001#12345#* and hit send (which enters TESTMODE). Within this app there are several variables that we need to be able to do a read only capture of:

Serving Cell Info
  • Freq Band Indicator (1 or 2 digit response)

  • Physical Cell ID - This is the tower ID number (3 digit response)

Serving Cell Measurements
  • Measured RSSI - dBm level (3 digits plus 2 to the right of the decimal) //calculated signal power from RSRP (not accurate)

  • Measured RSRP - dBm level (3 digits plus 2 to the right of the decimal) // actual signal power from cellular provider

  • Measured RSRQ - dBm level (2 digits plus 2 to the right of the decimal) // signal quality

What ever this app taps into to collect this data is all we need an API built to collect and deliver to us when accessed. If there is no data available, response with a 999 for 3 digit and 99 for 2 digit.

Seems simple enough, but like I said. I have been asking for 6 years and Quinn or someone assigned at Apple replies with no. Usually with a we see no need for this data to be exposed, yet there it is in the Testmode app accessed through the dialer.

Yes I am a cellular engineer. Yes I am a beginner programmer just trying to build myself an app so I can stop carrying an Android device with my iPhone, just so I can read the signal level being delivered to where I am standing. Is that really so much to ask for...

Dan
Quinn,

The thread you offer (https://developer.apple.com/forums/thread/130129) is of no benefit as it simply confirms Apple does not current offer a API or mechanism to read industry standard Cellular KPI values. I don't really care about throughput without the KPIs. With the KPIs I can interpret the calculated throughput.

As I mentioned 2 months ago, the built in metrics in iOS do support the cellular values needed and I am sure there is a "last look" storage of these values somewhere in iOS.

I would like to have Apple offer a successful method in getting these values, and as mentioned before, read only mode is fine. This would keep Apple in control and allow the building of applications that let people like me, document current cellular KPIs from the handset's POV.

Today I do this with an Android device and I would much prefer to use an Apple device.

The App I would like to build would use Apple's location service and these KPIs to map out coverage (typically in-building).


I would like to have Apple offer a successful method in getting these
values

I can only help folks use what’s currently available, and that clearly doesn’t meet your requirements. If you’d like Apple to make more things available in the future, I encourage you to file an enhancement request describing your requirements.

Please post your bug number, just for the record.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@apple.com"