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
Aqui descrevemos como depurar um build usando o Xcode, a IDE preferida da Apple para desenvolvimento em macOS e iOS.
--with-symbols (mais informações):$ 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 ou ios-deploy$ ios-deploy -b <AppName>.ipa
Obtenha a pasta .dSYM (isto é, os símbolos de debug)
Se não estiver usando extensões nativas, você pode baixar o arquivo .dSYM de d.defold.com
Se você estiver usando uma extensão nativa, a pasta .dSYM é gerada quando você compila com bob.jar. Apenas o build é necessário (sem archive ou empacotamento):
$ 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 corretamente, precisamos ter um projeto e o código-fonte mapeado. Não estamos usando este projeto para compilar coisas, apenas para depurar.
Crie um novo projeto Xcode, escolha o template Game

Escolha um nome (por exemplo, debug) e as configurações padrão
Escolha uma pasta onde salvar o projeto
Adicione seu código ao app

Certifique-se de que “Copy items if needed” esteja desmarcado.

Este é o resultado final

Desative a etapa Build


Defina a versão de Deployment target para que ela não seja maior que a versão do iOS do seu dispositivo

Selecione o dispositivo de destino

Você tem algumas opções para depurar um app
Escolha Debug -> Attach to process... e selecione o app ali
Ou escolha Attach to process by PID or Process name

Inicie o app no dispositivo
Em Edit Scheme, adicione a pasta
Para usar lldb, a execução precisa estar pausada
.dSYM ao lldb(lldb) add-dsym <PathTo.dSYM>

lldb leu os símbolos com sucesso(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, a cada vez com um número aleatório.$ dsymutil -dump-debug-map <executable> 2>&1 >/dev/null | grep /job
(lldb) settings show target.source-map
Você pode verificar de qual arquivo-fonte um símbolo se originou usando
(lldb) image lookup -va <SymbolName>
Abra um arquivo na visualização de projeto e defina um breakpoint

Para que o depurador aceite a pasta .dSYM, o UUID precisa corresponder ao UUID do executável sendo depurado. Você pode verificar o UUID assim:
$ dwarfdump -u <PathToBinary>