Мне неизвестен какой-либо метод определения сигнала несущей. Если ничего не помогает, вероятно, есть хакерский способ сделать это, сделав снимок экрана и проанализировав верхний левый угол. Тем не менее ...
Возможно, вы захотите покопаться в CoreTelephony, поскольку там что-то может быть. [CTCall callState]
? (Я недостаточно знаком с этим, чтобы сказать ...).
Чтобы узнать, можно ли использовать телефонный URL (т.е. tel:8005551212
):
if ([[UIApplication sharedApplication: canOpenURL:telURL])
{
// your code here
}
Это, по крайней мере, поможет определить, подключен ли пользователь к устройству с поддержкой телефона.
Использование openURL:
вернет ДА даже в режиме полета.