| Wybierz platformę: | iOS+ Android Android NDK Flutter Unity |
Z tego przewodnika dowiesz się, jak zacząć korzystać z Firebase Crashlytics w aplikacji na platformy Apple (np. w aplikacji na iOS).
Po skonfigurowaniu pakietu SDK Firebase Crashlytics w aplikacji możesz otrzymywać w konsoli Firebase szczegółowe raporty o awariach. Dzięki Crashlytics na platformy Apple otrzymujesz raporty o awariach i błędach niekrytycznych.
Podpowiedź AI do pomocy AI
Aby uzyskać pomoc AI, skopiuj podpowiedź poniżej do swojego agenta kodowania AI (np. Antigravity, Claude Code, Codex i Cursor). Możesz dostosować podpowiedź i iterować z agentem. Szczegółowe informacje o instalacji znajdziesz w artykule Umiejętności agenta Firebase.
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.
Zanim zaczniesz
Konfigurowanie Crashlytics wymaga wykonania zadań zarówno w konsoli Firebase, jak i w IDE (np. dodania pliku konfiguracyjnego Firebase i pakietu SDK Crashlytics ). Aby zakończyć konfigurację, musisz wymusić awarię testową, aby wysłać pierwszy raport o awarii do Firebase.
Jeśli jeszcze tego nie zrobisz, dodaj Firebase do projektu Apple. Jeśli nie masz aplikacji Apple, możesz pobrać przykładową aplikację.
Zalecane: aby automatycznie otrzymywać logi działań użytkownika które pomogą Ci zrozumieć działania użytkownika prowadzące do awarii lub zdarzenia niekrytycznego musisz włączyć Google Analytics w projekcie w Firebase.
Jeśli tworzysz nowy projekt w Firebase, włącz Google Analytics w trakcie procesu tworzenia projektu.
Jeśli używasz dotychczasowego projektu w Firebase, w którym nie jest włączona usługa Google Analytics możesz ją włączyć na stronie
Ustawienia > Integracje w Firebase konsoli.
Pamiętaj, że logi ścieżki są dostępne na wszystkich platformach Apple obsługiwanych przez Crashlytics z wyjątkiem watchOS.
Krok 1. Dodaj do aplikacji pakiet SDK Crashlytics
Do instalacji zależności Firebase i do zarządzania nimi możesz używać menedżera pakietów Swift.
- Po otwarciu projektu aplikacji wybierz w Xcode opcję File > Add Packages (Plik > Dodaj pakiety).
- Gdy pojawi się prośba, dodaj repozytorium pakietu SDK Firebase na platformy Apple:
- Wybierz bibliotekę Crashlytics.
- Aby korzystać z logów działań użytkownika, dodaj też do aplikacji [pakiet] SDK Firebase dla Google Analytics. Upewnij się, że usługa Google Analytics jest włączona w projekcie w Firebase.
- Dodaj flagę
-ObjCdo sekcji Other Linker Flags (Inne flagi linkera) w ustawieniach kompilacji celu. - (Tylko macOS) W pliku
Info.plistdodaj kluczNSApplicationCrashOnExceptionsi ustaw jego wartość naYES. - Po zakończeniu Xcode automatycznie rozpocznie rozwiązywanie i pobieranie zależności w tle.
https://github.com/firebase/firebase-ios-sdk.git
Następnie skonfiguruj moduł Firebase:
Zaimportuj moduł Firebase w strukturze
ApplubUIApplicationDelegate:Swift
import Firebase
Objective-C
@import Firebase;
Skonfiguruj współdzieloną instancję
FirebaseApp, zwykle w metodzieapplication(_:didFinishLaunchingWithOptions:)delegata aplikacji:Swift
// Use the Firebase library to configure APIs. FirebaseApp.configure()
Objective-C
// Use the Firebase library to configure APIs. [FIRApp configure];
Krok 2. Skonfiguruj Xcode tak, aby automatycznie przesyłał pliki dSYM
Aby generować czytelne raporty o awariach, Crashlytics potrzebuje plików symboli debugowania (dSYM) projektu. Poniższe instrukcje opisują, jak skonfigurować Xcode, aby automatycznie generował pliki dSYM, przetwarzał je i przesyłał za każdym razem, gdy tworzysz aplikację.
Otwórz obszar roboczy Xcode projektu, a następnie wybierz plik projektu w lewym panelu nawigacyjnym.
Z listy CELE wybierz główny cel kompilacji.
Kliknij kartę Ustawienia kompilacji , a następnie wykonaj te czynności, aby Xcode generował pliki dSYM na potrzeby kompilacji.
Kliknij Wszystkie, a następnie wyszukaj
debug information format.Ustaw Debug Information Format (Format informacji debugowania) na
DWARF with dSYM File(DWARF z plikiem dSYM) dla wszystkich typów kompilacji.
Kliknij kartę Fazy kompilacji , a następnie wykonaj te czynności, aby Xcode mógł przetwarzać pliki dSYM i je przesyłać.
Kliknij > Nowa faza skryptu uruchamiania.
Upewnij się, że ta nowa faza Run Script (Skrypt uruchamiania) jest ostatnią fazą kompilacji projektu . W przeciwnym razie Crashlytics nie będzie mógł prawidłowo przetwarzać plików dSYM.
Rozwiń nową sekcję Run Script (Skrypt uruchamiania).
W polu skryptu (znajdującym się pod etykietą Shell ) dodaj ten skrypt uruchamiania.
Ten skrypt przetwarza pliki dSYM projektu i przesyła je do Crashlytics.
"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run"W sekcji Input Files (Pliki wejściowe) dodaj ścieżki do lokalizacji tych plików:
${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
Jeśli w ustawieniach kompilacji projektu masz$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)
ENABLE_USER_SCRIPT_SANDBOXING=YESiENABLE_DEBUG_DYLIB=YES, dodaj te ścieżki:${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}.debug.dylib
Więcej informacji o plikach dSYM i Crashlytics (w tym o ręcznym przesyłaniu plików dSYM) znajdziesz w artykule Uzyskiwanie raportów o awariach bez zaciemniania kodu.
Krok 3. Wymuś awarię testową, aby zakończyć konfigurację
Aby zakończyć konfigurowanie Crashlytics i wyświetlić wstępne dane na panelu Crashlytics w konsoli Firebase, musisz wymusić awarię testową.
Dodaj do aplikacji kod, którego możesz użyć do wymuszenia awarii testowej.
Za pomocą tego kodu możesz dodać do aplikacji przycisk, który po naciśnięciu spowoduje awarię. Przycisk ma etykietę „Test Crash” (Awaria testowa).
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
Utwórz i uruchom aplikację w Xcode z odłączonym debugerem Xcode.
Aby utworzyć aplikację na urządzeniu testowym lub symulatorze, kliknij Build and then run the current scheme (Skompiluj, a następnie uruchom bieżący schemat).
Poczekaj, aż aplikacja się uruchomi, a następnie kliknij Stop running the scheme or action, aby zamknąć początkową instancję aplikacji. Ta początkowa instancja zawierała debuger, który zakłóca działanie Crashlytics.
Wymuś awarię testową, aby wysłać pierwszy raport o awarii aplikacji:
Otwórz aplikację na ekranie głównym urządzenia testowego lub symulatora.
W aplikacji naciśnij przycisk „Test Crash” (Awaria testowa), który został dodany za pomocą powyższego kodu.
Gdy aplikacja ulegnie awarii, uruchom ją ponownie w Xcode, aby mogła wysłać raport o awarii do Firebase.
Aby sprawdzić raport o awarii testowej, w konsoli Firebase otwórz panel DevOps & Engagement > Crashlytics dashboard.
Jeśli po odświeżeniu konsoli nadal nie widzisz awarii testowej po 5 minutach, włącz logowanie debugowania aby sprawdzić, czy aplikacja wysyła raporty o awariach.
To wszystko. Crashlytics monitoruje teraz aplikację pod kątem awarii. Aby wyświetlić i przeanalizować wszystkie raporty i statystyki, otwórz panel Crashlytics.
Dalsze kroki
Dostosuj konfigurację raportu o awarii dodając raportowanie za zgodą użytkownika, logi, klucze i śledzenie błędów niekrytycznych.
Eksportuj dane do BigQuery lub Cloud Logging aby korzystać z zaawansowanych analiz i funkcji, takich jak wysyłanie zapytań o dane, tworzenie niestandardowych paneli i konfigurowanie niestandardowych alertów.