Os arquivos dSYM do seu aplicativo são armazenados na pasta do caminho do arquivo dSYM do Xcode. Esta é a pasta onde o agente iOS obtém os arquivos dSYM que são usados para simbolizar seus relatórios de falhas. A New Relic fornece um script pós-construção como parte do processo de instalação do agente iOS. Este script converte automaticamente seu dSYM para o formato de arquivo de mapa New Relic e carrega os arquivos necessários para a simbolização de falha no New Relic.
Script automático
Um script Swift está incluído no agente iOS que deve ser executado a partir de um script de construção nas fases de construção do seu destino no Xcode. O script carrega automaticamente arquivos dSYM em segundo plano (ou converte seu dSYM para o formato de arquivo de mapa New Relic) e, em seguida, executa um upload em segundo plano dos arquivos necessários para a simbolização de falha no New Relic.
No Xcode 14, a Apple alterou a configuração padrão em projetos recém-criados para desabilitar o bitcode. A App Store agora só aceita envios de aplicativos com bitcode desativado. Consulte as notas de versão do Xcode 14. Se o seu projeto ainda tiver o bitcode habilitado você deverá desabilitá-lo. O script automático requer que o bitcode esteja desabilitado.
A Apple gera arquivos dSYM para aplicativos habilitados para Bitcode. Você deve baixar os arquivos dSYM para aplicativos habilitados para Bitcode da Apple e carregá-los no New Relic por meio do monitoramento de Mobile UI.
Se você vir um código de máquina ilegível na páginaCrashes , seus arquivos dSYM podem não ter sido carregados corretamente. Em alguns casos, pode ser necessário fazer upload manual de arquivos dSYM.
No agente iOS da New Relic versão 7.4.0 introduzimos um novo script de upload de símbolos que usa Swift. A versão Python do script de upload de símbolos ainda está disponível, mas será removida em uma versão futura. Com o agente iOS New Relic versão 7.3.8, a versão python do script automático usa Python 3. Se você usar macOS 12.3 macOS 12.3 (Monterey), Python 3 será instalado por padrão com Xcode. Mas se você usar o script automático python no macOS 12.2 ou anterior, pode ser necessário instalar manualmente o Python 3.
Identifique dSYMs ausentes
Quando um aplicativo habilitado para Bitcode é carregado na Apple para revisão na App Store ou distribuição ad-hoc, os dSYMs precisam ser baixados manualmente da Apple e carregados na New Relic para permitir que os relatórios de falhas móveis sejam simbolizados adequadamente. Esses dSYMs podem ser baixados por meio do organizador de arquivos no Xcode alguns minutos após o upload do aplicativo. Nesta situação siga os procedimentos para localizar o arquivo e baixar dSYMs.
Se um aplicativo não tiver um arquivo dSYM, você verá três indicadores na interface de monitoramento do Mobile:
Banner notification
: um banner de aviso aparece na página
We were unable to locate your dsym.
Upload prompt
: na página
Crash type summary
você será automaticamente solicitado a fazer upload de um arquivo dSYM se ele estiver faltando.
Machine code
: o stack trace de falhas na página
Crash report
exibe código de máquina e não uma mensagem de erro legível.
Upload de arquivos dSYM através da interface de monitoramento de Mobile
Você pode facilmente fazer upload de seus arquivos dSYM diretamente da interface do New Relic. O tamanho máximo do arquivo é 600 MB. Para fazer upload de seus arquivos dSYM:
Vá para
one.newrelic.com > All capabilities > Mobile
. Em seguida, selecione seu aplicativo na lista.
Visualizar
Crash analysis
.
Selecione uma falha específica na lista
Crash types
.
Clique em
Upload dSYM
. Você pode arrastar e soltar seus dSYMs diretamente ou selecionar o arquivo em seu computador.
Carregar arquivos dSYM manualmente
Em algumas circunstâncias, o upload automático de arquivos dSYM da New Relic pode falhar. Se o upload do dSYM falhar, ele criará um arquivo upload_dsym_results
. Por exemplo, se houver uma falha na rede e o upload do dSYM não for concluído, upload_dsym_results
conterá um log do que deu errado. Para obter informações adicionais sobre como a New Relic lida com uploads dSYM, consulte a comunidade técnica on-line da New Relic.
Se o upload automático falhar, você poderá fazer upload manualmente do arquivo dSYM. Se você tiver vários arquivos dSYM, eles poderão estar em um único zip com tamanho máximo de 600 MB. O valor YOUR_NEW_RELIC_APPLICATION_TOKEN
nos comandos abaixo é a mesma chave usada para +[NewRelic startWithApplicationToken:]
(em Objective-C) ou NewRelic.start(withApplicationToken:)
(em Swift).
Para carregar manualmente seus arquivos dSYM:
Resolução de problemas
O script automático criará um arquivo upload_dsym_results.log
no diretório raiz do seu projeto, que contém informações sobre quaisquer falhas que ocorram durante o upload do símbolo.
DSYMs ausentes
Se os arquivos dSYM estiverem faltando, pode ser necessário verificar as configurações de compilação do Xcode para garantir que o arquivo esteja sendo gerado. frameworks construídos localmente têm configurações de construção separadas e também podem precisar ser atualizados.
Configurações de compilação:
Debug Information Format : Dwarf with dSYM FileDeployment Postprocessing: YesStrip Linked Product: YesStrip Debug Symbols During Copy : Yes