Cómo funciona
Observar en lugar de interceptar.
La mayoría de los depuradores de red para iOS capturan cada petición con un URLProtocol personalizado y la reenvían desde su propia URLSession interna. La configuración de sesión de la app se pierde por el camino: su delegado de SSL pinning nunca se llama, los certificados mTLS no se presentan y se descartan las cabeceras, cookies, caché y ajustes de proxy de la sesión.
DiagnosticSDK, en cambio, observa:
- retransmite el
URLSessionDelegatede tu app y reenvía cada llamada sin cambios; - envuelve los completion handlers de las tareas y sus variantes
asyncpara leer el resultado; - la petición nunca sale de tu sesión.
Replay
El replay usa un URLProtocol solo mientras un replay está activo y solo para las peticiones que coinciden con una grabación. Una petición que coincide se sirve desde la grabación y nunca toca la red. Una petición sin coincidencia no se intercepta: iOS la gestiona de forma nativa.