2011-02-15 2 views
6

developer.apple.com의 Reachability 샘플 프로젝트를 살펴본 결과 네트워크 연결이 있는지 확인하기위한 대규모 프로젝트였습니다.objective-c의 네트워크 연결을 확인하는 방법

첫 번째 질문은 "기기가 3G 또는 Wi-Fi 네트워크에 연결할 수 있는지 알아 보는 데 필요한 최소 코드는 무엇입니까?"

다음은 appDelegate (시작) 또는 시작된 첫 번째 View Controller 내부에서 수행해야합니까?

정말 당신이 원하는 크지 않는 것 미리

답변

3

에 감사드립니다. 너무 크면 reachabilityForLocalWiFi와 같이 필요한 것을 추출 할 수 있습니다. 하지만 나는 그다지 작아지지 않을까 걱정됩니다.

예, 응용 프로그램 위임자 또는 첫 번째보기 컨트롤러에서 도달 가능성을 사용할 수 있습니다.

도달 가능성 알림 등록 ...

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(networkReachabilityDidChange:) 
              name:kReachabilityChangedNotification 
              object:nil]; 
__reachability = [[Reachability reachabilityWithHostName:@"www.google.com"] retain]; 
[__reachability startNotifier]; 

... 콜백 메소드 예 ...

- (void)networkReachabilityDidChange:(NSNotification *)notification { 
    Reachability *reachability = (Reachability *)[notification object]; 
    if (reachability.currentReachabilityStatus != NotReachable) { 
    // Network is available, ie. www.google.com 
    } else { 
    // Network is not available, ie. www.google.com 
    } 
} 

는 ..., 알림을 중지 관찰자를 제거하고 rechability 객체를 해제하는 것을 잊지 마세요.