Как определить 4G LTE с помощью Reachibility Call

У меня есть требование, согласно которому некоторые функции должны работать по-разному в Wi-Fi и по-разному в сотовой сети. Мы использовали приведенный ниже код, чтобы различать сеть,

-(int)isNetworkType
{

    Reachability* reachability = [Reachability reachabilityForInternetConnection];

    NetworkStatus netStatus = [reachability currentReachabilityStatus];

    return netStatus;
}


-(void)checkCellularNetWork
{

    if ([self isNetworkType] == 2) { //via WWAN


    }
    else if(self isNetworkType] == 1){ // via WIFI

    }

}

Основываясь на NetWorkStatus, мы обрабатываем флаги для реализации функций, но 4G LTE поддерживается в состоянии WWAN. Как мы можем справиться с этим, нам нужно обрабатывать 4GLTE только в сотовой сети.

Как мы можем справиться с этим?


person kiri    schedule 19.08.2015    source источник
comment
Я рекомендую вам этот пост   -  person M Zubair Shamshad    schedule 19.08.2015
comment
Вы можете определить, является ли это WIFI или WWAN. и формовать его в соответствии с вашими требованиями   -  person M Zubair Shamshad    schedule 19.08.2015
comment
Я использую аналогичный код в серверной части, но когда я подключен к 4G LTE, он не переходит в состояние ReachableViaWWAN.   -  person kiri    schedule 19.08.2015
comment
Тогда какое условие верно в вашем случае?   -  person M Zubair Shamshad    schedule 19.08.2015
comment
Извините, есть небольшое изменение, это сеть LTE. На самом деле мы не тестировали LTE, так как в Индии его пока нет, но, по словам клиента, мы не получаем оповещений, которые мы разместили в ReachableViaWWAN, и он работает так же, как в Wi-Fi.   -  person kiri    schedule 19.08.2015
comment
так у тебя больше нет проблем???   -  person M Zubair Shamshad    schedule 19.08.2015


Ответы (1)


Вам не нужно использовать Reachability для обнаружения LTE.

Это то, что вам помогает

CTTelephonyNetworkInfo *telephonyNetworkInfo = [CTTelephonyNetworkInfo new];
if ([telephonyNetworkInfo.currentRadioAccessTechnology   isEqualToString:CTRadioAccessTechnologyLTE]) 
{
    // you are connected with LTE Connection...
}

не забудьте добавить #import <CoreTelephony/CTTelephonyNetworkInfo.h> в файл .h

person M Zubair Shamshad    schedule 19.08.2015