Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

302
Vistas
¿Cómo ejecutar símbolos de carga para cargar dSYM como parte del proceso de compilación de Xcode?

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:

  1. Voy a Proyecto->Esquema->Editar esquema.
  2. Hago clic en Generar-> Publicar acciones
  3. Comienzo pequeño: solo quiero mostrar "eco" en el proceso de compilación:dSYM
  4. Ejecuto Producto-> Construir
  5. Voy a Ver->Navegadores->Mostrar navegador de informes
  6. No hay indicios de que se haya ejecutado el eco.

¿Dónde poner este guión?

¿Cómo saber si se está ejecutando o no?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

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.

Fondo

Síntoma

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.

Bitcode: la cuestión fundamental

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.

Soluciones

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

Descarga / carga manual

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.

Automatización de vía rápida

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/

over 4 years ago · Santiago Trujillo Denunciar

0

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.

over 4 years ago · Santiago Trujillo Denunciar

0

Debe actualizar en Project Target-> Configuración de compilación -> información de depuración (depurar y liberar ambos) -> DWARF con archivo dSYM

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda