2016-03-24 5 views

ответ

2

Самый простой способ, я думаю, импорт CoreTelephony и наблюдать CTRadioAccessTechnologyDidChangeNotification, а затем переключиться на что, как это:

let networkInfo = CTTelephonyNetworkInfo() 
let radio = networkInfo.currentRadioAccessTechnology 

guard let currentRadio = radio else { 
    print("No radio info available") 
    return 
} 

switch currentRadio { 
    case CTRadioAccessTechnologyLTE, 
     CTRadioAccessTechnologyHSDPA: //3.5G "T-Mobile 4G" 
     print("This is 4G/LTE") 
    case CTRadioAccessTechnologyeHRPD, //3.5G "Verizon 3G" 
     CTRadioAccessTechnologyHSUPA, 
     CTRadioAccessTechnologyWCDMA, 
     CTRadioAccessTechnologyCDMAEVDORev0, 
     CTRadioAccessTechnologyCDMAEVDORevA, 
     CTRadioAccessTechnologyCDMAEVDORevB: 
     print("This is 3G") 
    case CTRadioAccessTechnologyGPRS, 
     CTRadioAccessTechnologyCDMA1x 
     CTRadioAccessTechnologyEdge: 
     print("This is 2G") 
    default: 
     print("Unknown cellular network type") 
    } 

Если вы слушаете для этого уведомления, а также с использованием стандартной достижимости, вы можете использовать этот переключатель для получения типа сотовой сети. Вам понадобится currentReachabilityStatus, чтобы независимо проверить подключение WiFi. Насколько мне известно, в Swift вам нужно настроить заголовок заголовка для использования класса Reachability от Apple, но есть также и версии Swift, доступные на github.

+0

Спасибо, так что я искал, чтобы совместить ваш ответ с ответом @Arun и наблюдать currentReachabilityStatus – Roee84

2

Да Допустимая доступность предоставляет вам тип подключенной сети. Он дает 3 разных статуса - не подключен к Интернету, подключен к Wi-Fi, подключен к мобильным данным.

NetworkStatus status = [reachability currentReachabilityStatus]; 

if(status == NotReachable) 
{ 
    //No Connectivity to Internet 
} 
else if (status == ReachableViaWiFi) 
{ 
    //Connected via WiFi 
} 
else if (status == ReachableViaWWAN) 
{ 
    //Connected via Mobile Data 
} 
+0

Спасибо! Я также хотел бы проверить это как правильно, если бы это было возможно. – Roee84

Смежные вопросы