My app needs to detect the presence or absence of the call-in-progress status bar (green). In portrait orientation, the status bar becomes 40px tall when a call is in progress, so a change in the call state triggers the willChangeStatusBarFrame
and didChangeStatusBarFrame
methods in my app delegate.
The problem is that this only works in portrait; in landscape orientation, the status bar is 20px tall regardless of the call state, so the status bar frame change methods aren't called at all when the call state toggles.
I don't want to get into the telephony API in order to detect an actual ongoing call (although I guess I may be forced to do this) as a proxy for detecting the status bar state, as this won't work in the simulator.
Is there any way to detect this status bar state without relying on the status bar frame change methods?