повторите запрос, когда подключение к Интернету восстановится — IOS

Я использую AFNetworking 3.0 для выполнения веб-запросов в своем приложении. Есть ли способ автоматически повторить запрос, когда интернет снова появится?

Это код запроса:

        @try {
            NSString *urlMuniByGov = [NSString stringWithFormat:@"%@/%@", URL_MUNICIPALITES, selectedGov.govID];
            NSURL *url = [NSURL URLWithString:urlMuniByGov];
            AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] init];
            manager.responseSerializer = [AFJSONResponseSerializer serializer];
            manager.securityPolicy.allowInvalidCertificates = YES;
           [manager GET:url.absoluteString
             parameters:nil
             progress:nil
             success:^(NSURLSessionDataTask * task, id responseObject) {

                 NSArray *muniNSArray = [responseObject objectForKey:@"municipalites"];
                 if ([muniNSArray isKindOfClass:[NSArray class]]){
                     for (NSDictionary *dictionary in muniNSArray) {
                         Municipality *munModel = [Municipality new] ;
                         munModel.munID = [dictionary objectForKey:@"id"];
                         munModel.munNameAr = [[dictionary objectForKey:@"nom"] objectForKey:@"ar"];
                         munModel.munNameFr = [[dictionary objectForKey:@"nom"] objectForKey:@"fr"];
                         [self.munsArray addObject:munModel];
                         [self.munsString addObject:munModel.munNameAr];
                     }
                 }
                 [municipalityText setItemList:[NSArray arrayWithArray:self.munsString]];
             } failure:^(NSURLSessionDataTask * task, NSError * error) {
                 NSLog(@"Error: %@", error);
             }];
        }
        @catch (NSException *exception) {
           NSLog(@"Exception: %@", exception);
        }

person Haroun SMIDA    schedule 22.03.2016    source источник


Ответы (1)


[[AFNetworkReachabilityManager sharedManager]setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
NSLog(@"Reachability: %@", AFStringFromNetworkReachabilityStatus(status));}];

если какие-либо изменения в сетевом соединении вызовут этот блок, поэтому здесь вы можете повторить запрос дополнительной информации по ссылке https://github.com/AFNetworking/AFNetworking#network-reachability-manager

person Abi    schedule 22.03.2016