ios objective-c xcode dsym

ios - ¿Cómo se crea un archivo.dSYM?



objective-c xcode (1)

Un archivo dSYM es un "archivo de símbolos de depuración". Se genera cuando la configuración "Eliminar símbolos de depuración" está habilitada en la configuración de compilación de su proyecto.

Cuando esta configuración está habilitada, los nombres de los símbolos de sus objetos se eliminan del binario compilado resultante (una de las muchas contramedidas para tratar de prevenir sería que los hackers / crackers ingieran ingeniería inversa de su código, entre otras optimizaciones para el tamaño binario, etc.).

Es probable que los archivos dSYM cambien cada vez que se compile su aplicación (probablemente todas las veces debido al sellado de la fecha), y no tengan nada que ver con la configuración del proyecto.

Son útiles para simbolizar sus informes de fallos. Con un binario despojado, no podrá leer ningún informe de fallas sin volver a simbolizarlos. Sin el dSYM, el informe de bloqueo solo mostrará las direcciones de memoria de los objetos y métodos. Xcode usa el dSYM para volver a colocar los símbolos en el informe de bloqueo y le permite leerlo correctamente.

Idealmente, su archivo dSYM no debería ser rastreado en su repositorio git. Al igual que otros binarios que cambian en la construcción, no es útil mantenerlos en control de código fuente. Sin embargo, dicho esto, es importante que guarde los archivos dSYM para cada compilación distribuida (betas, comunicados de prensa, distribuciones de la tienda de aplicaciones, etc.) en un lugar seguro para que pueda simbolizar los informes de fallos que pueda obtener. Xcode lo hace automáticamente cuando usa la opción Archivar. El archivo creado contiene su aplicación y su dSYM y se almacena en el directorio de datos derivados de Xcode.

Estoy trabajando en una aplicación con otro desarrollador y acaban de enviar un lanzamiento a la tienda de aplicaciones que se creó en su computadora. Para hacer una compilación en mi máquina (que pertenece al mismo git commit), tengo que alterar la ruta a una de las bibliotecas que usamos en mi proyecto XCode. ¿Algún cambio que realice en el archivo de proyecto XCode cambiará el dSYM? Si pudiera hacer una compilación sin modificar el archivo de proyecto XCode, ¿sería el archivo dSYM el mismo?