Setting up reachability with AFNetworking 2.0

后端 未结 4 636
耶瑟儿~
耶瑟儿~ 2020-12-13 10:32

I am trying to setup Reachability using the new 2.0 AFNetworking.

In my AppDelegate I initialise the sharedManager.

// Instantiate Shared Manager
[A         


        
4条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-13 11:21

    I have a singleton AFHTTPRequestOperationManager class. In the singleton has a method:

    +(void)connectedCompletionBlock:(void(^)(BOOL connected))block {
    
    [[AFNetworkReachabilityManager sharedManager] startMonitoring];
    
    [[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
    
        BOOL con = NO;
        NSLog(@"Reachability: %@", AFStringFromNetworkReachabilityStatus(status));
    
        if (status == AFNetworkReachabilityStatusReachableViaWWAN || status == AFNetworkReachabilityStatusReachableViaWiFi) {
    
            con = YES;
        }
    
        if (block) {
            [[AFNetworkReachabilityManager sharedManager] stopMonitoring];
            block(con);
        }
    
    }];
    

    }

    Before make a request you call this method that return a block indicating if internet is reachable:

    [TLPRequestManager connectedCompletionBlock:^(BOOL connected) {
        if (connected) {
    
           // Make a request
    
        }else{
    
            UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"Notice" message:@"Internet is not available." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles: nil];
    
            [alertView show];
    
        }
    
    }];
    

提交回复
热议问题