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. Esse comportamento é definido quando você adiciona um script de execução que inicializa o Crashlytics na fase de compilação do seu aplicativo.
Infelizmente, existem alguns casos que podem causar falha no upload do dSYM, como código de bits em seu aplicativo ou outras configurações de projeto exclusivas. Este guia fornece algumas maneiras de solucionar problemas quando o Crashlytics não consegue localizar o dSYM do seu aplicativo.
Verifique se o Xcode está produzindo dSYMs
Na maioria das vezes, os arquivos dSYM desaparecem porque o Xcode simplesmente não os está produzindo. Quando um upload falha, o Crashlytics exibe um alerta "Missing dSYM" no Firebase console. 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 .
Pesquise por "formato de informações de depuração".
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 console do Firebase. Se o problema persistir ou você encontrar outros erros, tente localizar seu dSYM e carregá-lo manualmente no Crashlytics.
Localize seus dSYMs
Às vezes, o Crashlytics não consegue localizar o dSYM do seu aplicativo devido a configurações de bitcode ou à conectividade do console. Quando isso acontece, há duas maneiras adicionais de solucionar problemas:
Carregue seus dSYMs
Para carregar manualmente seus dSYMs, você pode usar a opção "Arrastar e soltar" baseada no console para carregar um arquivo zip contendo seus arquivos dSYM (vá para Firebase console > Crashlytics > guia dSYMs ).
Alternativamente, como backup, o Crashlytics inclui um script upload-symbols
que você pode chamar de qualquer lugar em seu processo de compilação para carregar manualmente seus arquivos dSYM. O script fornece mais informações sobre o processo de upload e mensagens de erro mais abrangentes (para notas de uso e instruções adicionais, execute upload-symbols
sem nenhum parâmetro).
Ao fazer upload de bitcode dSYMs, pode ser útil remover todos os arquivos de ícone no arquivo zip executando:
unzip appDsyms.zip
cd appDsyms rm -rf $(find . | grep Icon)
# Enumerate all the dSYMs
upload-symbols ... $(ls)
Para executar o script upload-symbols
, use uma das seguintes opções:
Inclua a seguinte linha em seu processo de compilação:
find dSYM_DIRECTORY -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \{\}
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