Inizia a utilizzare Crashlytics per le piattaforme Apple

Seleziona la piattaforma: iOS+ Android Android NDK Flutter Unity


Questa guida descrive come iniziare a utilizzare Firebase Crashlytics nella tua app per piattaforme Apple (ad esempio un'app per iOS).

Dopo aver configurato l'SDK Firebase Crashlytics nella tua app, puoi ricevere report completi sugli arresti anomali nella console Firebase. Con Crashlytics per le piattaforme Apple, ricevi report su arresti anomali ed errori non irreversibili.

Per l'assistenza AI, copia il prompt di seguito nel tuo agente di programmazione AI (come Antigravity, Claude Code, Codex e Cursor). Puoi personalizzare il prompt e ripetere l'operazione con l'agente. Visita la pagina Skill dell'agente Firebase per informazioni dettagliate sull'installazione.

Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me set up Firebase Crashlytics for my app.

Prima di iniziare

La configurazione di Crashlytics richiede attività sia nella console Firebase sia nell'IDE (come l'aggiunta di un file di configurazione Firebase e dell'SDK Crashlytics). Per completare la configurazione, devi forzare un arresto anomalo di prova per inviare il primo report sugli arresti anomali a Firebase.

  1. Se non l'hai già fatto, aggiungi Firebase al tuo progetto Apple. Se non hai un'app Apple, puoi scaricare un'app di esempio.

  2. Consigliato: per ricevere automaticamente i log dei breadcrumb per comprendere le azioni degli utenti che hanno portato a un arresto anomalo o a un evento non irreversibile, devi attivare Google Analytics nel tuo progetto Firebase.

    • Se generi un nuovo progetto Firebase, abilita Google Analytics durante il flusso di lavoro di creazione del progetto.

    • Se utilizzi un progetto Firebase esistente in cui non è abilitato Google Analytics, puoi attivarlo nella pagina Impostazioni > Integrazioni della console Firebase.

    Tieni presente che i log dei breadcrumb sono disponibili per tutte le piattaforme Apple supportate da Crashlytics, ad eccezione di watchOS.

Passaggio 1: aggiungi l'SDK Crashlytics alla tua app

Utilizza Swift Package Manager per installare e gestire le dipendenze di Firebase.

  1. In Xcode, con il progetto dell'app aperto, vai a File > Add Packages (File > Aggiungi pacchetti).
  2. Quando richiesto, aggiungi il repository dell'SDK delle piattaforme Apple di Firebase:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Scegli la libreria Crashlytics.
  5. Per sfruttare i log dei breadcrumb, aggiungi anche l'SDK Firebase per Google Analytics alla tua app. Assicurati che Google Analytics sia abilitato nel tuo progetto Firebase.
  6. Aggiungi il flag -ObjC alla sezione Other Linker Flags (Altri flag del linker) delle impostazioni di build del target.
  7. (Solo macOS) Nel tuo Info.plist, aggiungi la chiave NSApplicationCrashOnExceptions e impostala su YES.
  8. Al termine, Xcode inizierà automaticamente a risolvere e a scaricare le tue dipendenze in background.

Poi, configura il modulo Firebase:

  1. Importa il modulo Firebase nella struttura App o in UIApplicationDelegate:

    Swift

    import Firebase

    Objective-C

    @import Firebase;
  2. Configura un'istanza condivisa FirebaseApp, in genere nel metodo application(_:didFinishLaunchingWithOptions:) del tuo delegato dell'app:

    Swift

    // Use the Firebase library to configure APIs.
    FirebaseApp.configure()

    Objective-C

    // Use the Firebase library to configure APIs.
    [FIRApp configure];

Passaggio 2: configura Xcode per caricare automaticamente i file dSYM

Per generare report sugli arresti anomali leggibili, Crashlytics ha bisogno dei file dei simboli di debug (dSYM) del tuo progetto. I passaggi seguenti descrivono come configurare Xcode per produrre automaticamente i dSYM, elaborarli e caricare i file ogni volta che crei l'app.

  1. Apri l'area di lavoro Xcode del progetto, quindi seleziona il file di progetto nel navigatore a sinistra.

  2. Nell'elenco TARGETS, seleziona il target di build principale.

  3. Fai clic sulla scheda Build Settings (Impostazioni build), quindi completa i seguenti passaggi in modo che Xcode produca dSYM per le tue build.

    1. Fai clic su Tutti, quindi cerca debug information format.

    2. Imposta Formato informazioni di debug su DWARF with dSYM File per tutti i tipi di build.

  4. Fai clic sulla scheda Build Phases (Fasi di build), quindi completa i seguenti passaggi in modo che Xcode possa elaborare i dSYM e caricare i file.

    1. Fai clic su > New Run Script Phase (Nuova fase di esecuzione dello script).

      Assicurati che questa nuova fase Esegui script sia l'ultima fase di build del progetto; in caso contrario, Crashlytics non può elaborare correttamente i dSYM.

    2. Espandi la nuova sezione Esegui script.

    3. Nel campo dello script (situato sotto l'etichetta Shell), aggiungi il seguente script di esecuzione.

      Questo script elabora i file dSYM del progetto e li carica su Crashlytics.

      "${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"
    4. Nella sezione File di input, aggiungi 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
      $(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
      Se nelle impostazioni di build del progetto hai ENABLE_USER_SCRIPT_SANDBOXING=YES e ENABLE_DEBUG_DYLIB=YES, includi quanto segue:
      ${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}.debug.dylib

Per informazioni più dettagliate sui file dSYM e su Crashlytics (tra cui come caricare manualmente i file dSYM), visita la pagina Ricevi report sugli arresti anomali deoffuscati.

Passaggio 3: forza un arresto anomalo di prova per completare la configurazione

Per completare la configurazione di Crashlytics e visualizzare i dati iniziali nella dashboard Crashlytics della console Firebase, devi forzare un arresto anomalo di test.

  1. Aggiungi alla tua app un codice che puoi utilizzare per forzare un arresto anomalo di test.

    Puoi utilizzare il seguente codice per aggiungere alla tua app un pulsante che, se premuto, causa un arresto anomalo. Il pulsante è denominato "Test Crash".

    SwiftUI

    Button("Crash") {
      fatalError("Crash was triggered")
    }

    UIKit

    Swift

    import UIKit
    
    class ViewController: UIViewController {
      override func viewDidLoad() {
          super.viewDidLoad()
    
          // Do any additional setup after loading the view, typically from a nib.
    
          let button = UIButton(type: .roundedRect)
          button.frame = CGRect(x: 20, y: 50, width: 100, height: 30)
          button.setTitle("Test Crash", for: [])
          button.addTarget(self, action: #selector(self.crashButtonTapped(_:)), for: .touchUpInside)
          view.addSubview(button)
      }
    
      @IBAction func crashButtonTapped(_ sender: AnyObject) {
          let numbers = [0]
          let _ = numbers[1]
      }
    }

    Objective-C

    #import "ViewController.h"
    
    @implementation ViewController
    ‐ (void)viewDidLoad {
        [super viewDidLoad];
    
        // Do any additional setup after loading the view, typically from a nib.
    
        UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        button.frame = CGRectMake(20, 50, 100, 30);
        [button setTitle:@"Test Crash" forState:UIControlStateNormal];
        [button addTarget:self action:@selector(crashButtonTapped:)
            forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:button];
    }
    
    ‐ (IBAction)crashButtonTapped:(id)sender {
        @[][1];
    }
    
    @end
  2. Crea ed esegui l'app in Xcode con il debugger Xcode scollegato.

    1. Fai clic su Crea ed esegui lo schema corrente per creare la tua app su un dispositivo di test o un simulatore.

    2. Attendi che l'app sia in esecuzione, quindi fai clic su Interrompi l'esecuzione dello schema o dell'azione per chiudere l'istanza iniziale dell'app. Questa istanza iniziale includeva il debugger che interferisce con Crashlytics.

  3. Forza l'arresto anomalo di test per inviare il primo report sugli arresti anomali della tua app:

    1. Apri l'app dalla schermata Home del dispositivo di test o del simulatore.

    2. Nell'app, premi il pulsante "Test Crash" che hai aggiunto utilizzando il codice riportato sopra.

    3. Dopo l'arresto anomalo dell'app, eseguila di nuovo da Xcode in modo che possa inviare il report sugli arresti anomali a Firebase.

  4. Nella console Firebase, vai alla dashboard DevOps e coinvolgimento > Crashlytics per verificare la presenza del report sugli arresti anomali di test.

    Se hai aggiornato la console e non vedi ancora l'arresto anomalo di test dopo cinque minuti, attiva il logging di debug per verificare se l'app invia report sugli arresti anomali.


È tutto. Crashlytics sta monitorando la tua app per rilevare eventuali arresti anomali. Visita la dashboard di Crashlytics per visualizzare ed esaminare tutti i report e le statistiche.

Passaggi successivi