Can I use Network Analyzer for data usage monitoring?
Partially.
iOS only provides data usage since the last reboot, which means that the app measuring the data usage would have to be running immediately after/before every reboot to record the latest usage data. This condition is very hard to achieve in practice:
- There’s no way to start an app automatically after system start. Users would have to start Network Analyzer immediately after the system starts, which is very easy to forget.
- Any app can be killed at any time when iOS needs more memory (e.g., when starting a memory-intensive game). This would break data usage monitoring.
- Even though there are some background modes on iOS that make it possible to run apps in the background (location service, audio, etc.), these modes may cause higher battery drain (e.g., the location service may use GPS, which causes higher battery consumption). Recently, Apple has also become quite strict about which apps can use these services, so if the app isn't directly location- or audio-related, it will be rejected during the app approval process.
There are apps on the App Store that track cellular and wifi usage based on the billing cycle despite the above limitations, but from their ratings you can see that their users aren’t very satisfied, because it is not possible to make the readings completely reliable. I have deliberately not implemented data measurements over a certain period of time, because I want to provide only those features that are 100% reliable.
That said, there is no issue with displaying the data obtained directly from iOS — that is, the received/sent wifi/cell data since last boot, which is implemented in Network Analyzer.