2016-08-18 101 views
0

我需要檢查我的應用程序在每秒鐘的互聯網連接。我有很多方式來完成這項任務後,谷歌小搜索。請給出建議這是最好的方式檢查應用程序中的互聯網連接。互聯網連接在ios應用程序每秒鐘檢查

+3

不要。沒有任何方法可以檢查每秒都不會完全沒有理由地耗盡電池。您也可能不必要地使用用戶的有限數據計劃中的數據。 – Avi

+0

否則我怎麼能讓我的設備在特定的時間連接或不與互聯網? – aDowla

+1

爲什麼你需要知道?如果沒有,當您嘗試需要這種連接的操作時,您會得到反饋。 – Avi

回答

2

更好的方法是觀察對可達性的更改,而不是檢查網絡是否可以自己到達每個n秒。

您可以直接使用Apple API執行此操作(請參閱Apple Dev站點上的the Reachability sample project),但使用內置於您正在使用的任何網絡庫中的Reachability功能要容易得多。

嘗試:

+2

除非已經在使用AFNetworking,否則Apple提供的示例代碼易於使用,並且不會添加不必要的依賴項。 – Avi

0

使用AFNetworkReachabilityManager在AFNetworking:

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; 
}