Tout reste sur le téléphone. Jusqu’à ce que vous le partagiez.
Les requêtes de votre app
Observées dans la propre URLSession de votre app.
Sur le téléphone
En mémoire pendant que l’app tourne, puis dans le dossier Documents de l’app.
Ne sort que si vous partagez
Export ou Safe Export, via la feuille de partage d’iOS.
Aucun serveur, aucun compte, aucune télémétrie : le SDK n’envoie rien nulle part.
Ce qui est enregistré
Toute la requête, telle que votre app l’a envoyée.
Les en-têtes sont gardés tels qu’envoyés, tokens et cookies compris. C’est vous qui décidez quoi partager, et comment.
Requête
- URL et méthode
- En-têtes, tels qu’envoyés
- Corps JSON
Réponse
- Code de statut
- En-têtes
- Corps JSON et sa taille
- L’erreur, si la requête a échoué
Contexte
- Écran affiché
- Heure de début et durées
Appareil
- Version de l’app
- Version d’iOS
- Modèle, simulateur ou non
Pas du JSON ? Le corps n’est pas gardé, seulement une note avec son type de contenu : can't save this type of content: image/png
Où ça se trouve
Sur le téléphone, dans les dossiers de votre app.
En mémoire
La session en cours, pendant que l’app tourne.
Dossier Documents
Un fichier par session, écrit quand l’app passe en arrière-plan ou quand vous exportez. Les fichiers importés sont à côté. Rien n’est supprimé tout seul.
Dx_4f2a9c1.jsonIMP_Dx_4f2a9c1_S.jsonDossier temporaire
La copie chiffrée créée par Safe Export, seulement pour le partage. Elle n’apparaît jamais dans History.
Dx_4f2a9c1_S.jsonConsole Xcode
Un court résumé par requête : écran, méthode, fin de l’URL, statut, taille.
[DiagnosticSDK]
Quand ça quitte le téléphone
Seulement quand vous le partagez.
Export
Le fichier de session tel quel, via la feuille de partage : vous choisissez la destination.
Safe Export
La même session, chiffrée en AES-256-GCM avec un mot de passe que vous choisissez.
Session Studio
Ouvre et modifie une session dans votre navigateur. Rien n’est envoyé.
Une requête que vous déclenchez vous-même : ouvrir le détail d’une requête d’image télécharge à nouveau cette image pour l’afficher. Cette requête n’est pas enregistrée.
Dans vos builds
Lancez-le seulement dans les builds Debug et QA.
Le SDK tourne partout où votre app le démarre, Release compris. Gardez l’appel dans #if DEBUG, ou dans les configurations que vous donnez à la QA.
#if DEBUGnetworkInterceptor.start()#endifBouton flottant dans un build non Debug ? Le SDK l’installe et écrit un avertissement dans la console.