Сетевое соединение потеряно при переключении с wifi на 3g

Я столкнулся со странной проблемой, оба, Reachability и NSURLConnection, показывая ошибку (Нет подключения к Интернету / Сетевое подключение потеряно) после переключения с Wi-Fi на 3g. Хотя все приложения работают нормально после перехода на 3g. Я дважды проверяю, включены ли мобильные данные для приложения и для устройства. Переустановка приложений работает нормально, помогите пожалуйста. Вот некоторый код достижимости:

-(BOOL)toCheckNetworkStatus
{
internetReachable = [Reachability reachabilityForInternetConnection];
[internetReachable startNotifier];

NetworkStatus internetStatus = [internetReachable currentReachabilityStatus];

if(internetStatus == NotReachable ){
    [self displayToastWithMessage:@"Connection lost!" AndSubtitle:@"Please check your network connection." delay:3.2];
    return  NO;
}
else{
    return YES;
}
}

Код для NSURLConnection:

    NSError *error;
    NSData *postData = [NSJSONSerialization dataWithJSONObject:dictionary
                                                       options:0
                                                         error:&error];
    if (error)
        NSLog(@"Failure to serialize JSON object %@", error);


    NSURL *url = [NSURL URLWithString:palURL];
    NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url
                                                           cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                       timeoutInterval:TIMEOUTINTERVAL];

    [request setHTTPMethod:@"POST"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
    [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];

    [request setHTTPBody:postData];
    [NSURLConnection sendAsynchronousRequest:request
                                       queue:[NSOperationQueue mainQueue]
                           completionHandler:
     ^(NSURLResponse *response, NSData *data, NSError *connectionError)
     {
         if (data)
         {
             NSMutableDictionary *responseDict = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
             NSLog(@"UPLOADED LOCATION RESPONSE = %@",responseDict);
         }
         else
         {
             NSLog(@"connectionError===%@",connectionError);
         }
     }];

0 ответов

Другие вопросы по тегам