ios xcode boringssl

Xcode 9 iOS 11 BoringSSL SSL_ERROR_ZERO_RETURN



(4)

¿Hay alguna forma en que pueda depurar por qué aparece el mensaje?

, lo hay , y estoy un poco sorprendido de que aún no se haya mencionado.

CFNetwork maneja el núcleo de las clases de redes de la Foundation . También tiene la capacidad (a menudo pasada por alto) de registro detallado a través de la variable de entorno CFNETWORK_DIAGNOSTICS .

CFNetwork registro de diagnóstico de CFNetwork :

setenv("CFNETWORK_DIAGNOSTICS", "3", 1);

Debe establecerse en un valor entero de 0 a 3, donde 0 está desactivado y los números más altos proporcionan progresivamente más registros. Durante el desarrollo normal, puede configurar esta variable de entorno a través del editor de esquemas de Xcode. Cuando la aplicación se ejecuta desde Xcode, las entradas del registro de CFNetwork aparecerán en el área de la consola de depuración (si no está visible, elija View > Debug Area > Show Debug Area ).

La variable de entorno debe colocarse justo al comienzo de la secuencia de inicio de la aplicación. Normalmente, poner esto al comienzo de main es suficiente, pero si tiene inicializadores estáticos de C ++ que usan CFNetwork , tendrá que ponerlo antes.

Nota: en Swift este código iría en main.swift . Por defecto, las aplicaciones Swift no tienen main.swift ; "El lenguaje de programación Swift" explica cómo agregar uno.
* También tenga en cuenta que en Swift elimine el punto y coma al final del setenv .

Definir la variable de entorno anterior definitivamente debería ayudar a determinar dónde está el problema, o al menos darle un punto de partida para comenzar a diagnosticar un mensaje de error algo vago.

Registro de diagnóstico de CFNetwork

Tengo un programa simple HelloWorld ejecutándose en iOS. El mismo código ha estado funcionando bien durante mucho tiempo. Recientemente, noté que recibo el siguiente error BoringSSL cuando el programa se ejecuta en mi ipad conectado a Xcode 9 en mi Macbook. No veo este error cuando ejecuto el programa en el simulador. El iOS es 11.2. Xcode es 9.2.

Mi código no tiene referencia a BoringSSL. Sin embargo, sí utiliza NSMutableURLRequest para realizar llamadas https a un servidor. La llamada funciona bien y todo parece funcionar bien, excepto los mensajes BoringSSL.

¿Hay alguna forma en que pueda depurar por qué aparece el mensaje? HellowWorld [466: 85961], ¿qué significan esos 2 números?

¿Qué significa el mensaje y cómo evitarlo?

2017-12-13 15:41:13.486047-0500 HellowWorld[466:85961] [BoringSSL] Function boringssl_session_errorlog: line 2871 [boringssl_session_read] SSL_ERROR_ZERO_RETURN(6): operation failed because the connection was cleanly shut down with a close_notify alert 2017-12-13 15:41:13.486363-0500 HellowWorld[466:85961] [BoringSSL] Function boringssl_session_errorlog: line 2871 [boringssl_session_read] SSL_ERROR_ZERO_RETURN(6): operation failed because the connection was cleanly shut down with a close_notify alert


Me las arreglé para solucionar el problema agregando la clave "Configuración de seguridad de transporte de aplicaciones" a la lista de información. Asegúrese de que "Permitir cargas arbitrarias" esté configurado en "Sí".


Para aquellos de ustedes para quienes los métodos anteriores no funcionaron, este es el problema en mi caso:

Estaba enviando una solicitud GET con un cuerpo de solicitud JSON usando Alamofire . Lo cambié a una solicitud GET que contiene los parámetros como parámetros de consulta en la URL (en la línea de GET https://your-api.com/v1/request?param=value ). Luego funcionó a la perfección.


Recibí un mensaje similar al intentar usar NSLog para publicar una lista muy larga, ya que publicaría la lista durante mucho tiempo en la consola de depuración y luego enumeraría parte de la lista seguida de algunas ... para mostrar que había más que no se imprimió en la consola, arreglé esto (usando OBJ-C) y agregué este #define a mi VC.m

#define NSLog(FORMAT, ...) printf("%s/n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);

quizás puedas usar algo similar a tu proyecto veloz.