Как определить, работает ли 3G или Wi-Fi на iPhone? - PullRequest
0 голосов
/ 08 апреля 2011

Несколько строк кода? Есть опыт?

Ответы [ 3 ]

5 голосов
/ 08 апреля 2011

Вы можете использовать код Apple Reachability для получения этой информации:

Пример:

Reachability *reach = [Reachability reachabilityForLocalWiFi];
[reach startNotifier];

NetworkStatus stat = [reach currentReachabilityStatus];

if(stat & NotReachable) {
   //not reachable
}

if(stat & ReachableViaWiFi) {
   //reachable via wifi
}

if(stat & ReachableViaWWAN) {
   //reachable via wwan
}
1 голос
/ 08 апреля 2011

Класс Apple Reachability даст вам эту информацию.

http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html

0 голосов
/ 16 декабря 2013

С тех пор я создал довольно простую оболочку Reachability на основе блоков, которая удаляет весь устаревший C-подобный код Reachability, вылитый в гораздо более какао-форму.

Использование по типу:

[EPPZReachability reachHost:hostNameOrIPaddress
               completition:^(EPPZReachability *reachability)
{
    if (reachability.reachableViaCellular) [self doSomeLightweightStuff];
}];

См. Доступность с блоками для повседневного использования на eppz! Blog , или получить его прямо из eppz! Достижимости на GitHub .

также работает с IP-адресами , что оказалось довольно редкой функцией оболочки Reachability.

...