Sustituir Crashlytics por un recolector propio con MetricKit que no envíe nada a terceros #51
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Decisión de Alexandre (auditoría 2026-09-18): "Portfolio Journal sin AdMob ni Google: es la única forma de que «sin rastreo» sea verdad, y el ingreso por anuncios es despreciable" (695 impresiones en 90 días).
FirebaseCrashlyticsse lleva los informes de fallo a Google. Los crashes ya llegan a Xcode Organizer por la vía de Apple, así que basta con un recolector local basado enMXMetricManagerque guarde los diagnósticos en el dispositivo y no los suba a ningún sitio.Quitar también la fase de build «Upload dSYMs to Crashlytics» y el script
Scripts/analyze_crashlytics.py.Implementado en
2380d37(rama 1.7.0).FirebaseCrashlyticsy la fase de build «Upload dSYMs to Crashlytics» fuera del proyecto. Sustituto:Services/DiagnosticsCollector.swift, unMXMetricManagerSubscriberque guarda los payloads de crash, cuelgue y escritura en disco como JSON enApplication Support/Diagnostics. Cero código de red, retención de 5 informes, ficheros marcados como excluidos de backup. Se arranca desdeAppDelegate. En Ajustes → Acerca de aparece «Compartir diagnósticos» solo cuando hay algo recogido: compartir es la única forma de que un informe salga del dispositivo, y la decide el usuario. Cadenas en los 7 idiomas. BorradoScripts/analyze_crashlytics.py.Efecto lateral: al irse la fase de script,
ENABLE_USER_SCRIPT_SANDBOXINGvuelve aYESen el target app (estaba enNOsolo por Crashlytics).Verificado: build y tests en verde;
otool -Lconfirma que el binario enlazaMetricKit.frameworky nada de Firebase.La build 89 (1.7.0) está en TestFlight desde hoy: subida con
altooltras--validate-appsin errores, procesada por App Store Connect (processingState: VALID) y ya en pruebas internas (internalBuildState: IN_BETA_TESTING). Notas de beta publicadas en es-ES y en-US.Incluye la sustitución de Crashlytics por
DiagnosticsCollectorcon MetricKit (2380d37), que guarda los informes en el dispositivo y no hace ninguna llamada de red. El issue ya estaba cerrado; esto es solo el registro de que va en la build que están probando los testers.