Cómo acceder a los registros e informes de fallos de iOS y tvOS
Las aplicaciones de iOS compiladas con Unreal Engine generan registros de fallos que los desarrolladores pueden utilizar para depurar sus proyectos y corregir errores de código. Sin embargo, por razones de seguridad, los símbolos de depuración no están disponibles en los registros de fallos. Verás claves y números, pero para ver los nombres de las funciones o información sobre las variables en un formato legible, tendrás que emparejar tus registros con una base de datos de símbolos para tu proyecto.
Existen varios procesos para volver a simbolizar tus registros y leerlos, dependiendo de cómo hayas enviado tus compilaciones de depuración a los dispositivos. TestFlight es la aplicación de Apple que sirve para enviar compilaciones de prueba a un gran número de dispositivos posibles y proporciona los registros de esas compilaciones a los desarrolladores. También puedes obtener los registros directamente a través de la depuración USB.
Necesitas un Mac y Xcode para leer los registros de los proyectos de iOS. Otros sistemas operativos e IDE no funcionarán con los procesos de trabajo de esta página.
1. Cómo acceder a los registros directamente desde el dispositivo
Si vas a depurar directamente a través de USB o Ethernet, sigue estos pasos para ver un registro de fallos simbolizado:
En Xcode, desde el menú principal, selecciona Ventana > Dispositivos y simuladores.
Haz clic en el iPhone del que quieras obtener datos sobre fallos y luego en Ver registros del dispositivo.
Pulsa la tecla control y haz clic en el registro que quieras leer. A continuación, haz clic en Volver a simbolizar y exportar el registro.
Esto proporcionará un registro legible con símbolos de depuración.
2. Cómo acceder a los registros desde TestFlight
Cuando una aplicación entregada a través de TestFlight falla, genera un archivo XCrashPoint que contiene información sobre el fallo. Para leer estos archivos, necesitas un archivo .dSYM con símbolos de depuración para tu proyecto y, a continuación, extraer el informe de fallos y volver a simbolizarlo.
Para obtener información específica sobre cómo implementar aplicaciones a través de TestFlight y acceder a los registros, consulta la Documentación de Apple sobre TestFlight. Esta sección proporcionará información sobre cómo simbolizarlos una vez que los obtengas.
Cómo generar un archivo .dSYM durante el empaquetado
Para generar un archivo .dSYM al empaquetar el proyecto, sigue estos pasos:
Abre Unreal Editor.
Abre la Configuración del proyecto y dirígete a Plataformas > iOS > Compilación.
Habilita Generar archivo dSYM para depuración y creación de perfiles de código.
Empaqueta tu proyecto.
El archivo .dSYM de tu proyecto aparecerá en la carpeta del proyecto, en /Binaries/iOS.
Los archivos .dSYM tienen una marca de tiempo que indica cuándo se empaquetaron. Toma nota de esta información para que puedas asociar los archivos .dSYM a la compilación correcta.
Cómo generar un archivo .dSYSM desde una línea de comandos
Para generar el archivo .dSYM utilizando UAT, ejecuta la secuencia de comandos RunUAT en una línea de comandos con el comando GenerateDYSM. Especifica los siguientes parámetros:
| Parámetro | Opcional | Valores válidos | Descripción |
|---|---|---|---|
-Platform=[Plataforma de destino] | Sí | IOS, TVOS, Mac | Especifica la plataforma de destino. Si no se especifica, el valor por defecto es la plataforma actual. |
-Target=[Nombre del proyecto] | Sí | El nombre de tu proyecto. | Especifica qué proyecto quieres utilizar. Por defecto, el proyecto actual si no se especifica. |
-Config=[Configuración de compilación] | Sí | Debug, DebugGame, Development, Test, Shipping | Configuración de compilación de destino. Si no se especifica, se utilizar Development por defecto. |
-Architecture=[Tipo de arquitectura] | No | x64, arm64, x64+arm64] | Arquitectura del dispositivo objetivo. |
-plano | Sí | No admite entradas. | Si se especifica, los .dSYM serán archivos planos más fáciles de copiar entre ordenadores o servidores. |
Por ejemplo, el siguiente comando generará archivos .dSYM para dispositivos iOS que utilicen la arquitectura arm64:
```RunUAT.command GenerateDYSM -project=MyProject -platform=Mac -target=EngineTestEditor -config=Test -architecutre=arm64```Cómo extraer el informe de fallos y volver a simbolizarlo
Para obtener tu informe de fallos y volver a simbolizarlo para que puedas leerlo, sigue estos pasos:
Obtén un archivo
XCrashPointde TestFlight. Para ello, puedes utilizar la siguiente entrada de comandos:C++export PATH="/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources:$PATH"Con la tecla control pulsada, haz clic en el archivo
.XCrashPointy, a continuación, haz clic en Extraer archivo.crash. También puedes exportar esta información utilizando siguiente entrada en la línea de comandos:C++export PATH="/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources:$PATH"Abre Xcode y mira el termina. Utilízalo para navegar hasta tu
.packagede Xcode.Utiliza la herramienta symbolicatecrash ejecutando la siguiente línea de comandos:
C++export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer" cp -i /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash ././symbolicatecrash unsymbolicated.crash symbols.dSYM > symbolicated.crash
Las instrucciones anteriores utilizan directorios por defecto. Utiliza las ubicaciones de tus archivos .crash y .dSYM cuando ejecutes estas líneas de comandos.
Entonces, Xcode proporcionará un registro de fallos con los nombres de las funciones y las variables visibles.