2013-06-30 5 views
0

Reifability에서 Wifi가 활성 연결임을 감지하지 못하는 문제가 있습니다. 내 프로젝트에서 표준 Reachability 클래스를 가져 왔고 수행 한 작업에서 Wifi를 사용하여 실제로 수행 할 작업을 결정할 수 있는지 감지합니다.Reachability WiFi를 감지하지 못합니다.

Reachability *reachability = [Reachability reachabilityWithHostName:@"www.google.com"]; 
      NetworkStatus status = [reachability currentReachabilityStatus]; 
      NSLog(@"%i", status); 
      if (status == ReachableViaWiFi) { 
//do wifi action 
} 
else { 
//do non wifi action 
} 

무엇이든지, 항상 else 액션을 수행합니다. 상태에 대한 로그는 '2'를 반환합니다. 무슨 일이 일어날 지 모른다고 생각 하나?

업데이트 : 많은 테스트를 거친 후, 어떤 이유로이 앱에서 WWAN 및 WIFI가 되돌려 졌음을 확인했습니다. WiFi가 꺼진 실제 장치에서 실행될 때 연결 상태가 WIFI로 표시되고 WIFI 네트워크에 연결되면 연결 상태가 WWAN으로 표시됩니다.

+0

SystemConfiguration 프레임 워크를 추가 했습니까? – rezand

+0

@rezand 예. Reachability에 대한 헤더는 다음 버전을 보여줍니다. File : Reachability.h 요약 : SystemConfiguration Reachablity API를 사용하는 방법에 대한 기본 데모입니다. 버전 : 2.0.4ddg 앤드류 W. Donoho 년 8 월 11 일, 2009 년 이 애플의 도달 가능성 2.0 클래스의 파생 작품에 의해 */ /* 상당한 추가. 아래의 라이센스는 OSI 권장 개인화가 적용된 새로운 BSD 라이센스입니다. user717452

+0

괜찮아요. 아직 사용하지 않았지만, 필자의 코드를 복사하여 내가 얻은 결과와 어떻게 수정해야하는지 알 수 있습니다. 하나는 그때까지 대답합니다. – rezand

답변

0

우리는 프로그래밍을 살펴보고 스위치 케이스 문제로 범위를 좁혔지만 도달 가능성은 2를 반환했지만 다른 클래스의 스위치 케이스는 케이스 2의 경우 "wifi"대신 "wwan"을 반환했습니다.이 답변을 확인하거나 이 질문을 닫으면 다른 사람들이 해결 된 문제에 답변하려고하지 않을 것입니다. 감사합니다.

관련 문제