Как определить, сможет ли iPad совершить телефонный звонок iOS 10+

Я хотел бы начать с того, что приведенные ниже темы не предлагают решение для меня:

iOS - Определение, поддерживает ли устройство телефонные звонки?

Как проверить, может ли устройство сделать телефонный звонок (iOS 8)?

Я хочу иметь возможность проверить, может ли пользователь сделать телефонный звонок в моем приложении для iPad. Проверка того, может ли iPad открыть схему URL tel: //, просто недостаточна, если у пользователей включена / выключена непрерывность.

Если непрерывность отключена, и если iPad не является сотовым iPad, я хочу, чтобы отображалось диалоговое окно, информирующее пользователя об этом ограничении.

В приложении настроек iPad, для перехода к FaceTime есть опция "Звонки с iPhone", которую можно включить / выключить. В конечном счете, это появится, только если пользователь вошел в ту же учетную запись iCloud, что и учетная запись на его iPhone.

Есть ли способ проверить, включены ли эти настройки? Или есть другой подход, о котором я не знаю?

1 ответ

Есть несколько способов. Вы можете попробовать использовать NetworkStatus а также ReachableViaWiFi + ReachableViaWWAN API, как описано в документации Apple и этом посте ТАК.

В итоге вы должны проверить, как сеть достижима:

Reachability *reachability = [Reachability reachabilityForInternetConnection];
[reachability startNotifier];

NetworkStatus status = [reachability currentReachabilityStatus];

if(status == NotReachable) {
    // No data connection
} else if (status == ReachableViaWiFi) {
    // WiFi
} else if (status == ReachableViaWWAN) {
    // Cellular
}

В качестве альтернативы вы можете использовать класс UIDevice. Некоторый полезный код здесь и здесь. В основном вы определяете модель устройства и проверяете, является ли это модель iPad сотовой или WiFi.

Другие вопросы по тегам