Todo se queda en el teléfono. Hasta que lo compartes.
Las peticiones de tu app
Observadas en la propia URLSession de tu app.
En el teléfono
En memoria mientras la app se ejecuta, luego en la carpeta Documents de la app.
Solo sale si lo compartes
Export o Safe Export, mediante la hoja de compartir de iOS.
Ningún servidor, ninguna cuenta, ninguna telemetría: el SDK no envía nada a ninguna parte.
Qué se graba
Toda la petición, tal como la envió tu app.
Las cabeceras se guardan tal como se enviaron, tokens y cookies incluidos. Tú decides qué compartir, y cómo.
Petición
- URL y método
- Cabeceras, tal como se enviaron
- Cuerpo JSON
Respuesta
- Código de estado
- Cabeceras
- Cuerpo JSON y su tamaño
- El error, si la petición falló
Contexto
- Pantalla en curso
- Hora de inicio y duraciones
Dispositivo
- Versión de la app
- Versión de iOS
- Modelo, simulador o no
¿No es JSON? El cuerpo no se guarda, solo una nota con su tipo de contenido: can't save this type of content: image/png
Dónde se guarda
En el teléfono, en las carpetas de tu app.
En memoria
La sesión en curso, mientras la app se ejecuta.
Carpeta Documents
Un archivo por sesión, escrito cuando la app pasa a segundo plano o cuando exportas. Los archivos importados están al lado. Nada se borra solo.
Dx_4f2a9c1.jsonIMP_Dx_4f2a9c1_S.jsonCarpeta temporal
La copia cifrada creada por Safe Export, solo para compartir. Nunca aparece en History.
Dx_4f2a9c1_S.jsonConsola de Xcode
Un breve resumen por petición: pantalla, método, final de la URL, estado, tamaño.
[DiagnosticSDK]
Cuándo sale del teléfono
Solo cuando lo compartes.
Export
El archivo de sesión tal cual, mediante la hoja de compartir: tú eliges el destino.
Safe Export
La misma sesión, cifrada con AES-256-GCM y una contraseña que tú eliges.
Session Studio
Abre y edita una sesión en tu navegador. No se envía nada.
Una petición que lanzas tú mismo: abrir el detalle de una petición de imagen vuelve a descargar esa imagen para mostrarla. Esta petición no se graba.
En tus builds
Arráncalo solo en builds Debug y QA.
El SDK se ejecuta allí donde tu app lo arranca, Release incluido. Mantén la llamada dentro de #if DEBUG, o en las configuraciones que entregas a QA.
#if DEBUGnetworkInterceptor.start()#endif¿Botón flotante en un build que no es Debug? El SDK lo instala y escribe un aviso en la consola.