2013-08-12 1 views
1

인터넷 연결이 필요한 iPhone 응용 프로그램을 개발 중이므로 Apple 프로젝트 코드에서 제공하는 Reachability 클래스 파일을 프로젝트에 사용했습니다. 나는이 지난 밤까지 잘 작동했다,Xcode에서 도달 서비스가 제대로 작동하지 않습니다.

if (internetStatus != NotReachable) 
{ 
    My code to run. 
} 

음을 내보기 컨트롤러에서 "Reachability.m을"수입 및 연결을 확인하려면 인터넷 연결

Reachability *reachability = [Reachability reachabilityForInternetConnection]; 
NetworkStatus internetStatus = [reachability currentReachabilityStatus]; 

을 확인하려면 다음 코드를 사용했다. 하지만 이제 인터넷 상태가 인터넷 연결을 감지하지 못합니다. 내 와이파이가 꺼져 있고 나는이 경우 문

if(internetStatus==ReachableViaWiFi){ 
    NSLog(@"Reachable VIA WIFI"); 
} 
if(internetStatus==ReachableViaWWAN) { 
    NSLog(@"Reachable VIA WLAN"); 
} 
if(internetStatus==NotReachable){ 
    NSLog(@"Not Reachable"); 
} 

를 사용하여 상태를 확인하기 위해 검사하지만 연결 가능 통해 WIFI를 표시합니다. 내 Wi-Fi가 꺼져있어 문제가 무엇인지 알 수 없습니다. 지난 번에 작업 한 코드에서 한 줄의 코드도 변경하지 않았습니다.

Xcode 시뮬레이터에서 테스트 중입니다.

+0

참조 : http://stackoverflow.com/questions/8812459/easiest-way-to-detect-a- connection-on-ios/8812506 # 8812506 –

+0

해당 링크에서 대답을 찾지 못했습니다. –

+0

http://stackoverflow.com/questions/7812074/app-crashing-when-using-reachability-classes-to-check-for-internet -connection – Rushabh

답변

0

WiFi를 사용하지 않도록 설정하면 기기에서 이동 통신사의 인터넷에 액세스하려고합니다. 이것이 ReachableViaWWAN 상태의 이유입니다. 기기 설정에서 3G를 사용 중지하면 기기에서만 연결되지 않았 음을 알 수 있습니다. -

if(internetStatus==NotReachable) 
{ 
     NSLog(@"Not Reachable"); 
} 

이 조건이 충족됩니다.

+0

내 질문에 편집했는데 출력이 WIFI가 아닌 WLAN을 통해 도달 가능했습니다 .. 내 Wifi가 Wi-Fi 또는 이더넷을 통해 인터넷에 연결되어 있고 노트북에 인터넷에 연결하는 다른 방법이 없습니다 –

+0

기기에서 테스트하지 않으셨습니까? – Trup

+0

아니요, Xcode 시뮬레이터를 사용 중입니다. –

0

이 시도 :

if([self connected]) 
    { 
    NSLog(@"Internet connected\n"); 
    } 


- (BOOL)connected 
{ 
    Reachability *reachability = [Reachability reachabilityForInternetConnection]; 
    NetworkStatus networkStatus = [reachability currentReachabilityStatus]; 
    return !(networkStatus == NotReachable); 
} 

당신은 rechability 클래스 here : Download sample을 얻고 프로젝트에 Reachability.h 및 Reachability.m를 추가 할 수 있습니다.

+0

내 와이파이 끄기로 인터넷 연결을 보여줍니다. –

0

내 문제에 대한 답변을 찾았습니다. Reachability에 전혀 문제가 없었습니다. 연결이 이루어지지 않았지만 MAC에 이더넷 연결이 표시되어 모든 문제를 일으켰습니다. 지금 하드웨어 문제를 고려하여 스택 오버플로에 대한 다음 질문이 있습니다. P 도와 주신 모든 분들께 감사드립니다.

관련 문제