Acessar logs e relatórios de falhas do iOS e tvOS
Aplicativos iOS compilados com a Unreal Engine geram logs de falhas que os desenvolvedores podem usar para depurar seus projetos e corrigir problemas de código. No entanto, por motivos de segurança, os símbolos de depuração não estão disponíveis com os logs de falhas. Você verá chaves e números, mas, para ver nomes de funções ou informações sobre variáveis em um formato legível, você precisa corresponder seus logs a um banco de dados de símbolos do seu projeto.
Existem vários processos para ressignificar os logs e lê-los, dependendo de como você enviou as compilações de depuração para os dispositivos. O TestFlight é o aplicativo da Apple para fornecer versões de teste a um grande número de dispositivos possíveis e fornece logs dessas versões para os desenvolvedores. Também é possível obter logs diretamente via depuração USB.
Você precisa de um Mac e do Xcode para ler logs de projetos iOS. Outros sistemas operacionais e IDEs não funcionarão com os fluxos de trabalho descritos nesta página.
1. Como acessar logs diretamente do dispositivo
Se estiver depurando diretamente via USB ou Ethernet, siga estas etapas para visualizar um log de falha significado:
No Xcode, no menu principal, selecione Janela > Dispositivos e simuladores.
Clique no iPhone do qual deseja obter os dados de falhas e, em seguida, clique em Visualizar logs do dispositivo.
Pressione CTRL e clique no log que deseja ler. Em seguida, clique em Ressignificar e exportar log.
Isso fornecerá um log legível com símbolos de depuração.
2. Acessar logs pelo TestFlight
Quando um aplicativo entregue via TestFlight falha, ele produz um arquivo XCrashPoint contendo informações da falha. Para ler esses arquivos, você precisa de um arquivo .dSYM com símbolos de depuração para o seu projeto e depois precisa extrair o relatório de falha e ressignificá-lo novamente.
Para obter informações específicas sobre como implantar aplicativos via TestFlight e acessar logs, consulte a documentação da Apple sobre o TestFlight. Esta seção fornecerá informações sobre como significá-los depois de os obter.
Gerar um arquivo .dSYM durante o empacotamento
Para gerar um arquivo .dSYM ao empacotar seu projeto, siga estas etapas:
Abra o Unreal Editor.
Abra Configurações de Projeto e vá até Plataformas > iOS > Compilação.
Habilite Gerar arquivo dSYM para depuração de código e criação de perfil.
Empacote seu projeto.
O arquivo .dSYM do seu projeto aparecerá na pasta do projeto, em /Binaries/iOS.
Arquivos .dSYM têm um carimbo de data/hora que indica quando foram empacotados. Anote essas informações para poder corresponder arquivos .dSYM com a compilação correta.
Gerar um arquivo .dSYSM pela linha de comando
Para gerar um arquivo .dSYM usando o UAT, execute o código RunUAT em uma linha de comando com o comando GenerateDYSM. Especifique os seguintes parâmetros:
| Parâmetro | Opcional | Valores válidos | Descrição |
|---|---|---|---|
-Platform=[Plataforma alvo] | Sim | IOS, TVOS, Mac | Especifica a plataforma alvo. O padrão é a plataforma atual, se não for especificado. |
-Target=[Nome do projeto] | Sim | O nome do seu projeto. | Especifica qual projeto você deseja usar. O padrão será o projeto atual, se não for especificado. |
-Config=[Configuração de compilação] | Sim | Debug, DebugGame, Development, Test, Shipping | Configuração da compilação alvo. O padrão é Development, se não for especificado. |
-Architecture=[Tipo de arquitetura] | Não | x64, arm64, x64+arm64] | Arquitetura do dispositivo alvo. |
-flat | Sim | Não recebe entradas. | Se especificado, os .dSYMs serão arquivos simples fáceis de copiar entre computadores ou servidores. |
Por exemplo, o comando a seguir gerará arquivos .dSYM para dispositivos iOS que usam a arquitetura arm64:
```RunUAT.command GenerateDYSM -project=MyProject -platform=Mac -target=EngineTestEditor -config=Test -architecutre=arm64```Extrair o relatório de falhas e ressignificar
Para obter o relatório de falhas e ressignificá-lo para que você possa lê-lo, siga estas etapas:
Obtenha um arquivo
XCrashPointdo TestFlight. Use a entrada de linha de comando a seguir para fazer isso.C++export PATH="/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources:$PATH"Clique com a tecla Control pressionada no arquivo
.XCrashPointe depois clique em Extrair arquivo.crash. Você também pode exportar essas informações usando a seguinte entrada da linha de comando:C++export PATH="/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources:$PATH"Abra o XCode e confira o terminal. Use-o para navegar até
.packagedo Xcode.Use a ferramenta symbolicatecrash com a seguinte linha de comando:
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
As instruções acima usam diretórios padrão. Use as localizações dos seus arquivos .crash e .dSYM ao executar essas linhas de comando.
O Xcode fornecerá um log de falhas com nomes de função e variáveis visíveis.