Ошибка загрузки HTTP NSURLSession / NSURLConnection (kCFStreamErrorDomainSSL, -9860) - PullRequest
0 голосов
/ 03 июня 2019

Я получаю сообщение об ошибке: загрузка HTTP NSURLSession / NSURLConnection не удалась (kCFStreamErrorDomainSSL, -9860)

Тот же код отлично работает в IPhone 8 с ОС версии 11.3.1, но в IPhone 6 с ОС версии 12.2 он не может получить ответ.

У меня уже есть внизу в листе

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

Полный журнал:

2019-06-03 10: 55: 07.459917 + 0530 MyApp [12858: 2218159] [BoringSSL] nw_protocol_boringssl_input_finished (1543) [C16.1: 2] [0x102f28c30] Одноранговый разъединен во время рукопожатия. Отправка сообщения об ошибке errSSLClosedNoNotify (-9816) 2019-06-03 10: 55: 07.461886 + 0530 MyApp [12858: 2218159] [BoringSSL] nw_protocol_boringssl_input_finished (1543) [C15.1: 2] [0x102f9a330] Одноранговый разъединен во время рукопожатия. Отправка сообщения об ошибке errSSLClosedNoNotify (-9816) 2019-06-03 10: 55: 07.463252 + 0530 MyApp [12858: 2218159] Ошибка TIC TCP Conn [16: 0x28048db00]: 3: -9816 Ошибка (-9816) 2019-06-03 10: 55: 07.466969 + 0530 MyApp [12858: 2218159] Ошибка TIC TCP Conn [15: 0x28048e280]: 3: -9816 Ошибка (-9816) 2019-06-03 10: 55: 08.087508 + 0530 MyApp [12858: 2218068] [BoringSSL] boringssl_context_alert_callback_handler (3724) [C17.1: 2] [0x102d7d020] Уровень оповещения: смертельный, описание: неуместное отступление 2019-06-03 10: 55: 08.088580 + 0530 MyApp [12858: 2218068] [BoringSSL] boringssl_session_errorlog (224) [C17.1: 2] [0x102d7d020] [boringssl_session_handshake_incomplete] операция SSL_ERROR_SSL не выполнена: 1) 2019-06-03 10: 55: 08.089000 + 0530 MyApp [12858: 2218068] [BoringSSL] boringssl_session_handshake_error_print (205) [C17.1: 2] [0x102d7d020] 4345208920: ошибка: 1000043e: процедуры SSL: OPENSSL_TAL_BR_TAL_BR /Library/Caches/com.apple.xbs/Sources/boringssl/boringssl-109.250.2/ssl/tls_record.cc:586:SSL предупреждение номер 86 2019-06-03 10: 55: 08.089466 + 0530 MyApp [12858: 2218068] [BoringSSL] boringssl_context_get_error_code (3617) [C17.1: 2] [0x102d7d020] SSL_AD_INAPPROPRIATE_FALLBACK 2019-06-03 10: 55: 08.090298 + 0530 MyApp [12858: 2218068] [BoringSSL] boringssl_context_alert_callback_handler (3724) [C18.1: 2] [0x102fed0f0] Уровень оповещения: смертельный, описание: неуместное отступление 2019-06-03 10: 55: 08.090387 + 0530 MyApp [12858: 2218068] [BoringSSL] boringssl_session_errorlog (224) [C18.1: 2] [0x102fed0f0] [boringssl_session_handshake_incomplete] операция SSL_ERROR_SSL завершилась неудачно: 1) 2019-06-03 10: 55: 08.090448 + 0530 MyApp [12858: 2218068] [BoringSSL] boringssl_session_handshake_error_print (205) [C18.1: 2] [0x102fed0f0] 4345208920: ошибка: 1000043e: процедуры SSL: OPEN_FL_RAL_TAL_BR_LB_RAL_T_L_B_L_T_L_B_L_T_L_B_T_LR /Library/Caches/com.apple.xbs/Sources/boringssl/boringssl-109.250.2/ssl/tls_record.cc:586:SSL предупреждение номер 86 2019-06-03 10: 55: 08.090479 + 0530 MyApp [12858: 2218068] [BoringSSL] boringssl_context_get_error_code (3617) [C18.1: 2] [0x102fed0f0] SSL_AD_INAPPROPRIATE_FALLBACK 2019-06-03 10: 55: 08.093938 + 0530 MyApp [12858: 2218068] Ошибка TIC TCP Conn [17: 0x280497000]: 3: -9860 Ошибка (-9860) 2019-06-03 10: 55: 08.095442 + 0530 MyApp [12858: 2218068] Ошибка загрузки HTTP NSURLSession / NSURLConnection (kCFStreamErrorDomainSSL, -9860) 2019-06-03 10: 55: 08.095507 + 0530 MyApp [12858: 2218068] Задача <06FCD0BC-4B03-45CC-B67D-02578B332F5A>. <1> Ошибка загрузки HTTP (код ошибки: -1200 [3: -9860]) 2019-06-03 10: 55: 08.096102 + 0530 MyApp [12858: 2218068] Ошибка TIC TCP Conn [18: 0x280495bc0]: 3: -9860 Ошибка (-9860) 2019-06-03 10: 55: 08.097280 + 0530 MyApp [12858: 2218068] Ошибка загрузки HTTP NSURLSession / NSURLConnection (kCFStreamErrorDomainSSL, -9860)

Сбой TCP-соединения как-то связан с отказом рукопожатия, но я не могу понять причину сбоя рукопожатия ..

код:

    +(void) fetchAndStoreAppConfig :(NSDictionary *)configuration mudulesToUpdate:(NSArray *)listItems withUser:(NSString *)email trigger:(NSString *)trigger {
    dispatch_queue_t SDKDataFetchQueue = dispatch_queue_create("SDKData Fetch Queue",NULL);
        dispatch_async(SDKDataFetchQueue, ^{

            NSMutableURLRequest *request = [APICommunication getRequest:configuration mudulesToUpdate:listItems withUser:email trigger:trigger];
            NSDictionary *jsonValues = [SdkUtil getResponseFromApi:request];
            NSLog(@"API response %@",jsonValues);
            });
    }

    +(NSMutableURLRequest * _Nullable) getRequest :(NSDictionary * _Nullable)config mudulesToUpdate:(NSArray * _Nullable)listItems withUser:(NSString * _Nullable)email trigger:(NSString * _Nullable)trigger{
        NSError *err;
        NSData *convertedData = [NSJSONSerialization dataWithJSONObject:listItems options:0 error:&err];
        NSString* entitiesStr = [[NSString alloc] initWithData:convertedData encoding:NSUTF8StringEncoding];
        NSString *entitiesStrtoURL = [entitiesStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]];

        NSString *completeURLStr = [NSString stringWithFormat:[self getBaseFormate],[NSString stringWithFormat:@"%@",config[CONFIG_BASE_URL]],@"v4/sdk?",[NSString stringWithFormat:@"%@",config[CONFIG_APP_ID]],entitiesStrtoURL, email, trigger];
        NSLog(@"SDK API: %@",completeURLStr);
        return [self getGetRequest:config url:completeURLStr];
    }

+(NSMutableURLRequest*)getGetRequest:(NSDictionary *)config url:(NSString *)completeURLStr{
    NSURL *url = [NSURL URLWithString:completeURLStr];
    NSString *authStr = [self getAuthString:config];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    [request setURL:url];
    [request setHTTPMethod:@"GET"];
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    [request addValue:authStr forHTTPHeaderField:@"authorization"];
    return request;
}

    +(NSDictionary *)getResponseFromApi:(NSMutableURLRequest *)request{
        __block BOOL done = NO;
        __block NSDictionary * jsonValues;
        NSLog(@"sdk getResponseFromApi: %@",request);
        NSURLSessionDataTask *dataTask = [[APICommunication getSession] dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
            if(data){
                NSError *errShow;
                jsonValues = [NSJSONSerialization JSONObjectWithData:data options:0 error:&errShow];
                NSLog(@"sdk JSon Description jsonvalues :%@",jsonValues.description);
                if(errShow == nil){
                    NSLog(@"sdk Error: %@",error);
                    done = YES;
                }
            }
            else{
                NSLog(@"sdk Error description :%@",error.debugDescription);
                [[NSNotificationCenter defaultCenter] postNotificationName:@"ErrorResponse" object:nil userInfo:nil];
            }
        }];

        [dataTask resume];

        while (!done) {
            NSDate *date = [[NSDate alloc] initWithTimeIntervalSinceNow:0.1];
            [[NSRunLoop currentRunLoop] runUntilDate:date];
        }
        return jsonValues;
    }
...