2016-08-18 3 views
0

앱에서 매초마다 인터넷 연결을 확인해야합니다. Google에서 약간의 검색 후이 작업을 수행 할 수있는 많은 방법이 있습니다. 최선의 방법을 제안 해주세요. 앱에서 인터넷 연결을 확인하십시오.ios 앱에서 초당 인터넷 연결 확인

+3

는하지 마십시오 충분합니다. 아무런 이유없이 배터리를 소진하지 않는 매 초마다 점검 할 방법이 없습니다. 사용자의 제한된 데이터 플랜에서 불필요하게 데이터를 사용할 수도 있습니다. – Avi

+0

그렇지 않으면 내 장치가 특정 시간에 인터넷에 연결되었거나 안될 수 있습니다. ??? – aDowla

+1

왜 알아야합니까? 그렇지 않은 경우 그러한 연결이 필요한 작업을 시도 할 때 피드백을 받게됩니다. – Avi

답변

2

네트워크에 도달 할 수 있는지 여부를 확인하는 대신 n 초마다 더 나은 방법은 도달 가능성에 대한 변경 사항을 관찰하는 것입니다.

Apple API (Apple 개발 사이트 the Reachability sample project 참조)를 사용하면이 작업을 직접 수행 할 수 있지만 사용중인 네트워크 라이브러리에 내장 된 Reachability 기능을 사용하는 것이 훨씬 쉽습니다.

시도 : 스위프트에 대한

+2

이미 AFNetworking을 사용하고 있지 않는 한, Apple에서 제공하는 샘플 코드는 사용하기 쉽고 불필요한 의존성을 추가하지 않습니다. – Avi

0

사용 AFNetworkReachabilityManager :

AFNetworking 도달 가능성이 지속적으로 네트워크 연결

을 확인 않습니다
-(void)viewDidLoad { 

    [super viewDidLoad]; 

[[AFNetworkReachabilityManager sharedManager] startMonitoring]; 

} 

//Use the return value to check the Internet connection 
-(BOOL)connected { 

    return [AFNetworkReachabilityManager sharedManager].reachable; 
} 
0
[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(reachabilityChanged:) 
              name:kReachabilityChangedNotification 
              object:nil]; 

-(BOOL)reachabilityChanged:(NSNotification*)note 
{ 
    BOOL status =YES; 
    NSLog(@"reachability is changed"); 

    Reachability * reach = [note object]; 

    if([reach isReachable]) 
    { 
     status = YES; 
     NSLog(@"NetWork is Available. Please go ahead"); 
    } 
    else 
    { 
     status = NO; 
     NSLog(@"NetWork is not Available. Please check your connection."); 
    } 
    return status; 
}