| Seleziona la piattaforma: | iOS+ Android Flutter Unity |
Per impostazione predefinita, Firebase Crashlytics elabora automaticamente i file dei simboli di debug (dSYM) per fornirti report sugli arresti anomali deoffuscati e leggibili. In genere, questo comportamento viene configurato durante la configurazione iniziale di Crashlytics nella tua app, in particolare aggiungendo uno script di esecuzione che carica automaticamente i file dSYM durante la fase di build dell'app.
Purtroppo, in alcuni casi il caricamento automatico dei file dSYM potrebbe non riuscire. Questa guida fornisce alcuni modi per risolvere i problemi quando Crashlytics non riesce a individuare i file dSYM della tua app.
Assicurati che Xcode possa elaborare automaticamente i dSYM e caricare i file
Durante la configurazione di Crashlytics nella tua app, hai configurato uno script di esecuzione per elaborare automaticamente i dSYM e caricare i file.
Assicurati che la configurazione dello script di esecuzione Crashlytics sia aggiornata con i nuovi requisiti introdotti con Xcode 15. Se la tua configurazione non è aggiornata, potresti visualizzare il seguente errore:
error: Info.plist Error Unable to process Info.plist at path ....
In particolare, Xcode 15 e versioni successive richiedono di fornire un insieme più completo di posizioni dei file. Per lo script di esecuzione Crashlytics (firebase-ios-sdk/Crashlytics/run), assicurati di avere la seguente configurazione:
Fai clic sulla scheda Build Phases (Fasi di creazione) e poi espandi la sezione Run Script (Esegui script).
Nella sezione File di input, assicurati di avere i percorsi delle posizioni dei seguenti file:
${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
Se nelle impostazioni di build del progetto hai$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
ENABLE_USER_SCRIPT_SANDBOXING=YESeENABLE_DEBUG_DYLIB=YES, includi quanto segue:${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}.debug.dylib
Controlla se Xcode genera dSYM
Molto spesso, i file dSYM mancano perché Xcode non li produce. Quando un caricamento non va a buon fine, Crashlytics visualizza un avviso "dSYM mancante" nella console Firebase. Se ricevi questo avviso, verifica innanzitutto che Xcode produca il dSYM corretto per ogni build:
Apri il progetto in Xcode, quindi seleziona il file di progetto nel navigatore Xcode.
Seleziona il target di build principale.
Apri la scheda Build Settings (Impostazioni di build) della destinazione, quindi fai clic su All (Tutto).
Cerca
debug information format.Imposta Debug Information Format (Formato informazioni di debug) su DWARF with dSYM File (DWARF con file dSYM) per tutti i tipi di build.
Ricostruisci l'app.
I report sugli arresti anomali dovrebbero ora essere visualizzati nella dashboard di Crashlytics. Se il problema persiste o se riscontri altri errori, prova a individuare i dSYM e caricali manualmente su Crashlytics.
Individua i dSYM su una macchina locale
Esegui questo comando sulla tua macchina per visualizzare tutti gli UUID dei dSYM e cerca il dSYM mancante:
mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done
Una volta trovato il file dSYM, caricalo manualmente su Crashlytics.
Se il comando mdfind non restituisce risultati, puoi cercare nella directory Products in cui si trova il tuo .app (per impostazione predefinita, la directory Products si trova in Derived Data). Se la tua app è stata rilasciata in produzione, puoi anche cercare il relativo dSYM nella directory .xcarchive sul disco:
In Xcode, apri la finestra Organizer, quindi seleziona la tua app dall'elenco. Xcode mostra un elenco di archivi per il tuo progetto.
Fai clic tenendo premuto il tasto Ctrl su un archivio per visualizzarlo nel Finder. Fai di nuovo clic tenendo premuto il tasto Ctrl, quindi fai clic su Mostra contenuto pacchetto.
All'interno di
.xcarchiveè presente una directory dSYM che contiene i dSYM generati nell'ambito del processo di archiviazione di Xcode.
Carica i file dSYM
Crashlytics supporta diversi modi per caricare i file dSYM, sia automaticamente sia manualmente.
(Consigliato) Elabora automaticamente i file dSYM e caricali
Quando hai configurato inizialmente Crashlytics, molto probabilmente hai configurato questo comportamento di caricamento automatico per la tua app. Tuttavia, se i caricamenti automatici non vanno a buon fine, verifica che la configurazione sia corretta.
Carica manualmente i file dSYM
Se i caricamenti automatici non vanno a buon fine, puoi caricare manualmente i file dSYM utilizzando una delle seguenti opzioni.
Opzione 1: utilizza l'interfaccia"Trascina " nella console Firebase per caricare un file ZIP contenente i file dSYM (vai alla scheda DevOps e coinvolgimento > Crashlytics dashboard > dSYM).
Opzione 2: utilizza lo script
upload-symbolsche puoi chiamare da qualsiasi punto del processo di build per caricare manualmente i file dSYM. Per eseguire lo scriptupload-symbols, utilizza una delle seguenti opzioni:Opzione A: includi la seguente riga nel processo di build:
find dSYM_DIRECTORY -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \{\}
Opzione B: esegui lo script direttamente nel tuo terminale:
/PATH/TO/PODS/DIRECTORY/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p ios /PATH/TO/dSYMs
Per le note sull'utilizzo e istruzioni aggiuntive su questo script, esegui
upload-symbolscon il parametro--help.