2016-06-24 2 views
-1

Я пытаюсь проверить, если локальный достижимIOS Swift2.2 достижимы хоста IP

private static func checkHostaviable(){ 
    if ([[Reachability, reachabilityWithHostName,:"google.com"],currentReachabilityStatus] == false) { 

    NSLog("not available"); 
    } 
    else{ 
    NSLog("available"); 
    } 
    } 

но на самом деле не работает ..

любая идея?

+1

Что со случайными запятыми в вашем коде? – dan

+2

Вы также смешиваете Objective-C и Swift – dan

ответ

0

Вот обычным способом, и способ Google (в Swift):

let reachability: Reachability = Reachability.reachabilityForInternetConnection() 
    let networkStatus:NetworkStatus = reachability.currentReachabilityStatus() 

    if (networkStatus != NotReachable) 
    { 
     print("has access") 
    } 
    else 
    { 
     print("no access") 
    } 

    // Google explicit: 
    let networkStatusGoogle = Reachability.init(hostName: "google.com").currentReachabilityStatus() 
    if (networkStatusGoogle != NotReachable) 
    { 
     print("has access to google") 
    } 
    else 
    { 
     print("no access to google") 
    } 

Объективный-C путь well documented by Apple, но в этот момент вы должны использовать Swift.

+0

хм, извините, я новичок в разработке swift/iOS .. все еще мало проблем с пониманием синтаксиса. Ваш код не работает для меня .. где я должен это реализовать? Appdelegated? или непосредственно в классе достижимости? – simplesystems

+0

Мне нужно добавить обработку ошибок (try & catch) и (networkStateHost! = Reachability.NetworkStatus.NotReachable) вместо (networkStatusGoogle! = NotReachable), но все еще не работает, теперь каждый хост доступен – simplesystems

+0

Досягаемость не бросает никаких исключений для вас , Статус достижимости - одно из трех значений: NotReachable = 0, ReachableViaWiFi, ReachableViaWWAN. Вы можете проверить эти три перечисления, если хотите, в своем коде. Обычно пользователи звонят о достижимости до сетевых вызовов, но у них также есть модель, где вы можете подписаться на изменения статуса Reachability (см. Пример приложения Apple). –

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