Después de actualizar a Xcode 9, usando Swift 3 y el simulador de iPhone X, mi consola está llena de:
TIC Read Status [11:0x0]: 1:57
TIC Read Status [11:0x0]: 1:57
TIC Read Status [11:0x0]: 1:57
...
¿Qué es eso y cómo lo soluciono? La ayuda es muy apreciada.
PD: Prefiero no simplemente "silenciarlo" con un Environment Variable
esquema de compilación.
xcode
ios-simulator
ios11
xcode9
David Seek
fuente
fuente
Respuestas:
El personal de Apple dio la siguiente respuesta:
TIC
se expande a "conexión de E / S TCP", que es un subsistema dentro de CFNetwork que ejecuta una conexión TCP1
y57
son el dominio y el código CFStreamError, respectivamente; un dominio de 1 es kCFStreamErrorDomainPOSIX y, dentro de ese dominio,57
es ENOTCONNEn resumen, una lectura TCP ha fallado con ENOTCONN.
Como el subsistema de conexión TCP I / O no tiene una API pública, necesariamente debe estar usándolo a través de algún contenedor de alto nivel (como NSURLSession).
fuente: https://forums.developer.apple.com/thread/66058
EDITAR / ACTUALIZAR:
Como todavía tenemos estos registros molestos, le pregunté al mismo especialista de Apple desde el enlace anterior sobre nuestra situación , que ahora es específica para Xcode 9 y Swift 4. Aquí está:
Mucha gente se queja de estos registros, que también tengo en todas mis aplicaciones desde que actualicé a Xcode 9 / iOS 11.
Su respuesta:
fuente: https://forums.developer.apple.com/message/272678#272678
SOLUCIÓN: solo espere las nuevas versiones / actualizaciones de Xcode 9.
fuente
Así es como
TIC Read Status [11:0x0]: 1:57
se descompone:TIC
se expande a "conexión de E / S TCP", que es un subsistema dentro de CFNetwork que ejecuta una conexión TCP11
es un número de ID de conexión dentro de TIC0x0
es un puntero al objeto TIC en sí1
y57
son el dominio y el código CFStreamError, respectivamente; un dominio de 1 es kCFStreamErrorDomainPOSIX y, dentro de ese dominio, 57 es ENOTCONNFuente: https://forums.developer.apple.com/thread/66058
fuente
Nota: Al igual que lo que @David mencionó en el comentario, es una forma de ocultar las advertencias, así que use este argumento de inicio para evitar recibir muchos mensajes repetitivos y tener una consola limpia. Una vez finalizada la depuración, manténgala deshabilitada ya que la consola no proporciona información útil cuando está habilitada. Por ejemplo
libc++abi.dylib: terminating with uncaught exception of type NSException
.Para las personas que se preguntan cómo silenciar la advertencia y hasta que esté disponible una mejor solución, puede seguir la variable a mano y alternar según sea necesario.
Utilice
OS_ACTIVITY_MODE = disable
la variable de entorno bajo Argumentos en los esquemas del producto para evitar que la consola se inunde con tales advertencias.Nota B: habilítelo para ver el efecto.
Fuente: https://medium.com/@adinugroho/disable-os-logging-in-xcode-8-ec6d38502532
fuente
La mejor manera que encontré, con respecto a este mensaje de registro y algunos otros (como los errores de NSURLSession que no son necesariamente errores) es tener mis propias funciones de registro.
Luego simplemente escribo [MyProject] en el filtro inferior derecho del panel de la consola, y eso es todo.
Tenga en cuenta que al llamar a print en la cola principal, permite que su registrador se use desde hilos sin mezclar su consola.
Listo para ser mejorado y ajustado para sus necesidades :)
fuente
Estaba teniendo este mismo problema cuando obtenía '}' en respuesta a un servicio REST (GET).
Utilizando:
después de hacer mi solicitud de URL y restablecer mi objeto URLSession después de obtener la respuesta como:
Resuelto mi problema
fuente
Logramos resolver este problema de registro deshabilitando HTTP / 2 en el servidor web, en nuestro caso hemos migrado de ELB clásico a ELB de aplicación que agregó soporte a HTTP / 2 en AWS y comenzamos a obtener "Estado de lectura de TIC [11: 0x0 ]: 1:57 "en la consola XCode 10.1 / iOS 12. Esto parece una solución temporal hasta que Apple solucione el problema con HTTP / 2, si lo hay. Es posible que esta solución no funcione para todos, especialmente si está utilizando API de terceros, pero le brinda algunas ideas sobre el problema.
fuente
Es un registro que indica que una conexión TCP está perdida / cerrada / no válida o lo que sea. Esto puede suceder si su aplicación tiene una conexión tcp en ejecución y la aplicación se pone en segundo plano durante algún tiempo, o si apaga la pantalla de su teléfono. El sistema operativo decide detener la mayor cantidad de recursos posible para reducir el drenaje de la batería. Si pone la aplicación en primer plano, las conexiones tcp que tenía antes ya no funcionarán. Necesita recrear una nueva conexión tcp.
Si no te molesta, simplemente ignóralo.
fuente