Ok, entonces estoy tratando de cargar automáticamente dSYM. Estoy siguiendo las instrucciones de esta documentación oficial: https://firebase.google.com/docs/crashlytics/get-deobfuscated-reports
Estoy atascado en la sección "Ejecutar el script de carga de símbolos manualmente". Hay 3 formas de cargar dSYM. Estoy tratando de seguir el primero, incluida la siguiente línea en su proceso de compilación: find ${DWARF_DSYM_FOLDER_PATH} -name "*.dSYM" | xargs -I \{\} ${PODS_ROOT}/Fabric/upload-symbols -gsp MyProjectFolder/GoogleService-Info.plist -p ios \{\}
Por ahora he probado lo siguiente:

¿Dónde poner este guión?
¿Cómo saber si se está ejecutando o no?
TL;DR: los dSYMS generados en el momento de la compilación tienen poco valor en la era "bitcode habilitado", debe descargar los dSYM de Apple y cargarlos en su servicio de informes de fallas de terceros como un paso posterior a la compilación después de que Apple haya procesado su carga.
Faltan dSYM/simbolización fallida en la consola de informes de fallas de terceros. Pensé que, a pesar de seguir las instrucciones de instalación de Crashlytics, el script estaba fallando.
Resulta que los sistemas de informes de fallas de terceros (como Crashlytics o New Relic) tienen un problema fundamental con las mejores prácticas actuales para la distribución de aplicaciones, que son las aplicaciones habilitadas con código de bits. Históricamente, estos sistemas de informes de fallas de terceros dependían de los pasos del tiempo de compilación para cargar los dSYM generados en el momento de la compilación. Pero dado que la habilitación de código de bits significa que la tienda de aplicaciones vuelve a compilar sus aplicaciones, sus dSYM generados en el tiempo de compilación, que está tratando de cargar, son efectivamente inútiles.
En segundo plano, las aplicaciones habilitadas para códigos de bits se "reducen" y, por lo tanto, Apple las vuelve a compilar de modo que cada dispositivo solo obtenga los bits de descarga que necesita. Desea habilitar el código de bits . Es una buena cosa. Pero, la distribución habilitada para códigos de bits estropea la simbología. Independientemente de los dSYM que genere en el momento de la compilación, los dSYM en realidad no se correlacionarán con los bloqueos de las compilaciones instaladas de App Store o TestFlight, ya que sus bloqueos serán de las versiones recompiladas de App-Store de sus aplicaciones con los nuevos dSYM correspondientes.
Por lo tanto, no se preocupe si el script de carga funciona o no en el momento de la compilación. De hecho, ese paso podría eliminarse de su proceso de compilación, ya que solo está desperdiciando su tiempo y ancho de banda.
El único caso en el que podría ser útil es si desea simbolizar bloqueos de versiones de lanzamiento instaladas localmente en lugar de depurarlos directamente en Xcode.
La solución es esperar "algún tiempo" (supuestamente varios minutos, a través de la documentación de NewRelic, en mi experiencia, una suspensión de 120 segundos después de la carga de fastlane, pero antes de ejecutar la acción download_dsyms de fastlane fallaba a veces, una suspensión de 300 segundos funciona de manera confiable) después de cargar su aplicación (probablemente la duración del tiempo que la tienda de aplicaciones dice que su compilación está "Procesando"), luego descargue los dSYM desde allí y use su secuencia de comandos de carga de línea de comandos de reporteros de fallas de terceros
Las soluciones recomendadas actuales de los reporteros de fallas de terceros (tanto la documentación de NewRelic como la de Crashlytics al menos) es ir a la página de App Store Connect para compilar y descargar dSYM y luego cargar, o usar el Organizador de XCode para el archivo, presione "Descargar depuración". Símbolos" y luego cárguelos.
Esto funciona, con las descargas manuales de dSYM enviadas a su proveedor de informes de fallas, obtendrá informes simbólicos. Es un proceso manual que utiliza la GUI de Xcode o la interfaz de App Store Connect.
Sin embargo, puede automatizar el proceso con Fastlane, que creo que es la solución adecuada.
https://docs.fastlane.tools/actions/download_dsyms/#download_dsyms
https://docs.fastlane.tools/actions/upload_symbols_to_crashlytics/
Pruebe los siguientes pasos:
Paso 1: seleccione el proyecto Xcode de su aplicación, luego el objetivo de su aplicación, luego seleccione "Fases de compilación".
Paso 2: en el menú de Xcode, seleccione "Editor", luego seleccione "Agregar fase de compilación" y luego haga clic en "Agregar fase de compilación de script de ejecución".
Paso 3: Ahora debería ver una sección Ejecutar secuencia de comandos en las opciones de la fase de compilación.
Paso 4: pegue la secuencia de comandos dentro del cuerpo de la fase de creación de la secuencia de comandos de ejecución.
Tenga en cuenta que debe establecer la(s) ruta(s) de archivo correcta(s) en su(s) secuencia(s) de comandos.
Debe actualizar en Project Target-> Configuración de compilación -> información de depuración (depurar y liberar ambos) -> DWARF con archivo dSYM