Por padrão, o Firebase Crashlytics processa automaticamente seus arquivos de símbolo de depuração (dSYM) para fornecer relatórios de falhas desofuscados e legíveis por humanos. Geralmente, você configura esse comportamento durante a configuração inicial do Crashlytics no seu aplicativo, especificamente adicionando um script de execução que carrega automaticamente os arquivos dSYM durante a fase de criação do seu aplicativo.
Infelizmente, existem alguns casos que podem causar falha no upload automático de arquivos dSYM. Este guia fornece algumas maneiras de solucionar problemas quando o Crashlytics não consegue localizar os arquivos dSYM do seu aplicativo.
Certifique-se de que o Xcode possa processar dSYMs automaticamente e fazer upload dos arquivos
Ao configurar o Crashlytics em seu aplicativo, você configurou um script de execução para processar dSYMs automaticamente e fazer upload dos arquivos.
Certifique-se de que sua configuração para o script de execução do Crashlytics esteja atualizada com os novos requisitos que começaram com o Xcode 15. Se sua configuração não estiver atualizada, você poderá receber o seguinte erro:
error: Info.plist Error Unable to process Info.plist at path ...
.
Especificamente, o Xcode 15 e versões posteriores exigem que você forneça um conjunto mais completo de locais de arquivos. Para o script de execução do Crashlytics ( firebase-ios-sdk/Crashlytics/run
), certifique-se de ter a seguinte configuração:
Clique na guia Build Phases e expanda a seção Run Script .
Na seção Arquivos de entrada , certifique-se de ter os caminhos para os locais dos seguintes arquivos:
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist
$(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist
$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
Verifique se o Xcode está produzindo dSYMs
Na maioria das vezes, os arquivos dSYM desaparecem porque o Xcode simplesmente não os produz. Quando um upload falha, o Crashlytics exibe um alerta "DSYM ausente" no console do Firebase. Se você receber este alerta, primeiro verifique se o Xcode está produzindo o dSYM correto para cada compilação:
Abra seu projeto no Xcode e selecione o arquivo do projeto no Xcode Navigator.
Selecione seu destino de construção principal.
Abra a guia Build Settings do destino e clique em All .
Procure o
debug information format
.Defina o formato de informações de depuração como DWARF com arquivo dSYM para todos os seus tipos de compilação.
Recrie seu aplicativo.
Seus relatórios de falhas agora devem aparecer no painel do Crashlytics . Se o problema persistir ou você encontrar outros erros, tente localizar seus dSYMs e carregá-los manualmente no Crashlytics .
Localize seus dSYMs em uma máquina local
Execute o seguinte comando para exibir todos os UUIDs de seus dSYMs em sua máquina e procure o dSYM ausente:
mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done
Depois de encontrar o dSYM, carregue-o manualmente no Crashlytics . Se o comando mdfind
não retornar nenhum resultado, você pode procurar no diretório Products
onde seu .app
reside (por padrão, o diretório Products
está localizado em Derived Data
). Se seu aplicativo for lançado para produção, você também poderá procurar seu dSYM no diretório .xcarchive
no disco:
No Xcode, abra a janela do Organizer e selecione seu aplicativo na lista. O Xcode exibe uma lista de arquivos para o seu projeto.
Clique com a tecla Control pressionada em um arquivo para visualizá-lo no Finder. Clique com a tecla Control pressionada novamente e clique em Mostrar conteúdo do pacote .
Dentro de
.xcarchive
há um diretório dSYMs que contém dSYMs gerados como parte do processo de arquivamento do Xcode.
Faça upload dos seus dSYMs
O Crashlytics oferece suporte a várias maneiras de fazer upload de seus arquivos dSYMs, de forma automática ou manual .
(Recomendado) Processe automaticamente seus dSYMs e carregue os arquivos
Ao configurar inicialmente o Crashlytics, você provavelmente configurou esse comportamento de upload automático para seu aplicativo. No entanto, se os uploads automáticos falharem, verifique se sua configuração está correta .
Carregue manualmente seus arquivos dSYM
Se os uploads automáticos falharem, você poderá carregar manualmente seus arquivos dSYM usando uma das opções a seguir.
Opção 1 : use a opção "Arrastar e Soltar" baseada no console para fazer upload de um arquivo zip contendo seus arquivos dSYM (vá para Console do Firebase > Crashlytics > guia dSYMs ).
Opção 2 : Use o script
upload-symbols
que você pode chamar de qualquer lugar em seu processo de construção para carregar manualmente seus arquivos dSYM. Para executar o scriptupload-symbols
, use uma das seguintes opções:Opção A : inclua a seguinte linha em seu processo de construção:
find dSYM_DIRECTORY -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \{\}
Opção B : Execute o script diretamente do seu terminal:
/PATH/TO/PODS/DIRECTORY/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p ios /PATH/TO/dSYMs
Para notas de uso e instruções adicionais sobre este script, execute
upload-symbols
com o parâmetro--help
.