This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Aquí describimos cómo depurar una build usando Xcode, el IDE preferido de Apple para desarrollar para macOS e iOS.
--with-symbols (más información):$ cd myproject
$ wget http://d.defold.com/archive/<sha1>/bob/bob.jar
$ java -jar bob.jar --platform armv7-darwin build --with-symbols --variant debug --archive bundle -bo build/ios -mp <app>.mobileprovision --identity "iPhone Developer: Your Name (ID)"
Xcode, iTunes o ios-deploy$ ios-deploy -b <AppName>.ipa
Obtén la carpeta .dSYM (es decir, los símbolos de depuración)
Si no usas extensiones nativas (Native Extensions), puedes descargar el archivo .dSYM desde d.defold.com
Si estás usando una extensión nativa, la carpeta .dSYM se genera cuando haces la build con bob.jar. Solo es necesario hacer la build (sin archive ni bundling):
$ cd myproject
$ unzip .internal/cache/arm64-ios/build.zip
$ mv dmengine.dSYM <AppName>.dSYM
$ mv <AppName>.dSYM/Contents/Resources/DWARF/dmengine <AppName>.dSYM/Contents/Resources/DWARF/<AppName>
Para depurar correctamente, necesitamos tener un proyecto y el código fuente mapeado. No usamos este proyecto para hacer builds, solo para depurar.
Crea un proyecto nuevo de Xcode y elige la plantilla Game

Elige un nombre (por ejemplo, debug) y la configuración predeterminada
Elige una carpeta donde guardar el proyecto
Agrega tu código a la app

Asegúrate de que “Copy items if needed” esté desmarcado.

Este es el resultado final

Desactiva el paso Build


Configura la versión de Deployment target para que ahora sea mayor que la versión de iOS de tu dispositivo

Selecciona el dispositivo objetivo

Tienes varias opciones para depurar una app
Puedes elegir Debug -> Attach to process... y seleccionar la app desde allí
O elegir Attach to process by PID or Process name

Inicia la app en el dispositivo
En Edit Scheme, agrega la carpeta
Para usar lldb, la ejecución debe estar pausada
.dSYM a lldb(lldb) add-dsym <PathTo.dSYM>

lldb haya leído los símbolos correctamente(lldb) image list <AppName>
(lldb) settings set target.source-map /Users/builder/ci/builds/engine-ios-64-master/build /Users/mathiaswesterdahl/work/defold
(lldb) settings append target.source-map /private/var/folders/m5/bcw7ykhd6vq9lwjzq1mkp8j00000gn/T/job4836347589046353012/upload/videoplayer/src /Users/mathiaswesterdahl/work/projects/extension-videoplayer-native/videoplayer/src
job1298751322870374150, cada vez con un número aleatorio.$ dsymutil -dump-debug-map <executable> 2>&1 >/dev/null | grep /job
(lldb) settings show target.source-map
Puedes comprobar de qué archivo fuente proviene un símbolo usando
(lldb) image lookup -va <SymbolName>
Abre un archivo en la vista del proyecto y define un breakpoint

Para que el depurador acepte la carpeta .dSYM, el UUID debe coincidir con el UUID del ejecutable que se está depurando. Puedes comprobar el UUID así:
$ dwarfdump -u <PathToBinary>