Как определить, сможет ли 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.