Compartir a través de


Símbolo de iOS

Importante

Visual Studio App Center está programado para la retirada el 31 de marzo de 2025. Aunque puede seguir usando Visual Studio App Center hasta que se retire por completo, hay varias alternativas recomendadas a las que puede considerar la posibilidad de migrar.

Obtenga más información sobre las escalas de tiempo de soporte técnico y las alternativas.

Los informes de bloqueo de macOS, tvOS e iOS muestran los seguimientos de pila de todos los subprocesos en ejecución de la aplicación en el momento en que se produjo un bloqueo. Los seguimientos de la pila solo contienen direcciones de memoria; no nombres de clase, métodos, nombres de archivo o números de línea necesarios para comprender los bloqueos.

Para obtener las direcciones de memoria traducidas, debe cargar un paquete dSYM en App Center, que contiene toda la información necesaria para la simbólica. Puede obtener más información sobre la simbólica de la documentación oficial para desarrolladores de Apple.

El servicio de compilación y distribución de App Center puede generar automáticamente un archivo de asignación .zip de origen y dSYM válido y cargar el archivo en el servicio diagnostics. Si usa App Center para compilar y distribuir automáticamente la aplicación a los usuarios finales, no es necesario obtener y cargar manualmente los archivos de símbolos.

Bloqueos sinmbolicar

Los bloqueos sin asignar se muestran en la sección Diagnósticos de App Center para que pueda ver algunos detalles incluso antes de cargar símbolos. Los símbolos que faltan de estos bloqueos se mostrarán en la pestaña "sin asignar". Si se cargan los símbolos que faltan, el grupo de bloqueos sin asignar se reemplazará por un grupo de bloqueos simbólico.

Búsqueda de la .dSYM agrupación

  1. En Xcode, abra el menú Ventana y seleccione Organizador.
  2. Seleccione la pestaña Archivos .
  3. Seleccione la aplicación en la barra lateral izquierda.
  4. Haga clic con el botón derecho en el archivo más reciente y seleccione Mostrar en Finder.
  5. Haga clic con el botón derecho en el .xcarchive archivo en Finder y seleccione Mostrar contenido del paquete.
  6. Debería ver una carpeta denominada dSYMs que contiene el paquete dSYM.
  7. Cree un archivo ZIP del paquete dSYM.

Si usa Visual Studio en lugar de Xcode, consulte ¿Dónde puedo encontrar el archivo dSYM para simbolizar los registros de bloqueo de iOS? para buscar el archivo dSYM.

Carga de símbolos

App Center Portal

  1. Inicie sesión en App Center y seleccione la aplicación.
  2. En el menú izquierdo, vaya a la sección Diagnósticos y seleccione Símbolos.
  3. En la esquina superior derecha, haga clic en Cargar símbolos y cargue el archivo.
  4. Una vez que App Center indexe los símbolos, los bloqueos se simbolizarán automáticamente.

React Native aplicaciones de iOS

Para obtener archivos de símbolos para React Native archivos iOS, cree un archivo ZIP con el paquete dSYM en el equipo Mac y el mapa de origen de JavaScript de la aplicación. El mapa de origen debe denominarse index.ios.map. Los comandos siguientes generarán el mapa de origen para las compilaciones de versión:

react-native bundle --entry-file index.ios.js --platform ios --dev false --reset-cache --bundle-output unused.jsbundle --sourcemap-output index.ios.map

App Center API

El proceso para cargar símbolos a través de la API implica una serie de tres llamadas API: una para asignar espacio en nuestro back-end, otra para cargar el archivo y otra para actualizar el estado de la carga. El cuerpo de la primera llamada API debe establecerse symbol_type en Apple.

  1. Desencadene una POST solicitud a la API de symbol_uploads. Esta llamada asigna espacio a nuestro back-end para el archivo y devuelve una symbol_upload_id propiedad y .upload_url
curl -X POST 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads' \
    -H 'accept: application/json' \
    -H 'X-API-Token: {API TOKEN}' \
    -H 'Content-Type: application/json' \
    -d '{JSON BODY}'
  1. Con la upload_url propiedad devuelta desde el primer paso, realice una PUT solicitud con el encabezado : "x-ms-blob-type: BlockBlob" y proporcione la ubicación del archivo en el disco. Esta llamada carga el archivo en nuestras cuentas de almacenamiento de back-end. Obtenga más información sobre los encabezados de solicitud PUT Blob .
curl -X PUT '{upload_url}' \
    -H 'x-ms-blob-type: BlockBlob' \
    --upload-file '{path to file}'
  1. Realice una PATCH solicitud a la API de symbol_uploads mediante la symbol_upload_id propiedad devuelta desde el primer paso. En el cuerpo de la solicitud, especifique si desea establecer el estado de la carga committed en (completado correctamente) el proceso de carga o aborted (completado incorrectamente).
curl -X PATCH 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}' \
    -H 'accept: application/json' \
    -H 'X-API-Token: {API TOKEN}' \
    -H 'Content-Type: application/json' \
    -d '{ "status": "committed" }'

Nota

La API de carga de símbolos no funciona para archivos de más de 256 MB. Use la CLI de App Center para cargar estos archivos. Puede instalar la CLI de App Center siguiendo las instrucciones del repositorio de la CLI de App Center.

App Center CLI

También puede usar la CLI para cargar archivos de símbolos:

appcenter crashes upload-symbols --symbol {symbol file}

Bitcode

Apple introdujo Bitcode para permitir que las aplicaciones enviadas al App Store se vuelvan a compilar mediante Apple y apliquen la optimización más reciente. Si Bitcode está habilitado, los símbolos generados para la aplicación en la tienda serán diferentes de los de su propio sistema de compilación.

Los informes de bloqueos de App Center aún no admiten la simbólica de bloqueos de aplicaciones habilitadas para código de bits. Mientras tanto, le recomendamos que deshabilite el código de bits. La deshabilitación del código de bits simplifica significativamente la administración de símbolos y actualmente no tiene ningún inconveniente conocido para las aplicaciones de iOS.

Deshabilitación del código de bits para la aplicación

  1. En Xcode, abra la configuración del proyecto haciendo clic en el elemento de nivel superior del Navegador de proyectos.
  2. Vaya a la página Configuración de compilación.
  3. Busque bitcode.
  4. En el resultado, cambie el valor de Sí a No.
  5. Recompilación de la aplicación

Con estos sencillos pasos, los informes de bloqueos de App Center se comportarán como de costumbre.

Recuperación de símbolos para aplicaciones habilitadas para código de bits

Si desea mantener habilitado el código de bits, puede descargar los archivos dSYM adecuados siguiendo estos pasos:

  1. Abrir el organizador de Xcode
  2. Seleccione el archivo específico de la aplicación que cargó en iTunes Connect.
  3. Haga clic en el botón "Descargar dSYMs". Este paso insertará los archivos dSYM compilados de Bitcode en el archivo original.
  4. Cargar los símbolos en la aplicación y la versión correspondientes en App Center

Si el organizador de Xcode no proporciona símbolos nuevos, debe descargar los archivos dSYM desde el portal de iTunes Connect siguiendo estos pasos:

  1. Seleccione la aplicación en el portal de iTunes Connect.
  2. Seleccione la pestaña Actividad en la parte superior.
  3. Seleccione la versión de compilación de la aplicación que tiene los símbolos que faltan.
  4. Haga clic en el vínculo Descargar dSYM.
  5. Cargue el archivo descargado en App Center. Este archivo contiene los símbolos necesarios para que App Center haya simbólico los bloqueos.

Solución de problemas de símbolos

Si los bloqueos siguen apareciendo sin asignar después de cargar símbolos y deshabilitar el código de bits, puede deberse a que los archivos dSYM cargados no coinciden con los requeridos por App Center. Al cargar archivos dSYM, App Center los coincide con la versión correcta de la aplicación en función de sus UUID.

Puede comprobar si los archivos dSYM tienen los UUID adecuados mediante una herramienta de la CLI denominada enanodump.

  1. Busque el UUID en el archivo dSYM:
dwarfdump --u CrashProbeiOS.app.dSYM
  1. El resultado debería ser similar al que se muestra a continuación:
UUID:ADF53C85-4638-3EFF-A33C-42C13A18E915 (armv7)CrashProbeiOS.app.dSYM/Contents/Resources/DWARF/CrashProbeiOS
UUID:D449E33D-7E74-379D-8B79-15EE104ED1DF (arm64)CrashProbeiOS.app.dSYM/Contents/Resources/DWARF/CrashProbeiOS
  1. Compruebe si el UUID devuelto coincide con los UUID que se muestran en el cuadro de diálogo de símbolos de depuración:

App Center muestra el UUID de los símbolos necesarios

Omitir símbolos

Cuando App Center no tiene todos los archivos de símbolos para los informes de bloqueos totalmente simbólicos, los bloqueos se muestran en la pestaña Sinmbolicar . Los símbolos necesarios se cargan desde esta página si tiene acceso a ellos.

Si no puede cargar los símbolos, puede marcarlos como Omitir seleccionando filas en la tabla y haciendo clic en el botón Omitir versiones . Este botón indica a App Center que procese los bloqueos y los símbolos lo antes posible con los símbolos del archivo. Una vez que hayan terminado de procesarse, aparecerán en la pestaña Bloqueos parcialmente simbólicos. Los nuevos bloqueos que también dependen de los mismos identificadores de símbolo marcados como omitido omitirán la pestaña Sinmbolicar a medida que entran y fluyen a través del sistema.