使用AFNetworking進行網路狀態的監測

乞力馬紮羅的雪CYF發表於2015-09-17

     在實際的專案開發中,我們可能需要實時的檢視我們當前手機的網路狀態,這個需求使用AFNetworking來實現將會非常方便。實現如下:

(1)將裡面的三個資料夾直接拖入到專案中  http://pan.baidu.com/s/1kTrOnFD  。

(2)程式碼實現如下:在AppDelegate.m中實現:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  //設定基準網址(用於ping);
  NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
  
  //初始化監聽
  AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:url];
  NSOperationQueue *operationQueue = manager.operationQueue;
  
  //監聽結果回撥;
  [manager.reachabilityManager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
    
    switch (status) {
      case AFNetworkReachabilityStatusReachableViaWWAN:
      case AFNetworkReachabilityStatusReachableViaWiFi:
        
        NSLog(@"有網路");
        
        //傳送系統通知,通知有網路;
        [operationQueue setSuspended:NO];
        
        break;
        
      case AFNetworkReachabilityStatusNotReachable:
      default:
        
        NSLog(@"無網路");
        
        //傳送系統通知,通知無網路;
        [operationQueue setSuspended:YES];
        
        break;
    }
    
  }];
  
  //開始監聽;
  [manager.reachabilityManager startMonitoring];
  
  
  return YES;
}

(3)執行程式,你可以實時改變手機的網路狀態,在控制檯可以看到實時的列印資訊。是不是很方便呢?


github主頁:https://github.com/chenyufeng1991  。歡迎大家訪問!

相關文章