| 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ć szczegółowe raporty o awariach w konsoli Firebase. Dzięki Crashlytics na platformach Apple otrzymujesz raporty o awariach i błędach niekrytycznych.
prompt AI dla pomocy AI
Aby uzyskać pomoc AI, skopiuj poniższego prompta do swojego asystenta kodowania AI (np. Antigravity, Claude Code, Codex lub Cursor). Możesz dostosować prompta i wprowadzać zmiany 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 środowisku IDE (np. dodanie pliku konfiguracji Firebase i pakietu SDK Crashlytics). Aby dokończyć konfigurację, musisz wymusić testową awarię i wysłać pierwszy raport o awarii do Firebase.
Dodaj Firebase do projektu Apple, jeśli nie korzystasz w nim jeszcze z tej usługi. 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 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 bez włączonej usługi Google Analytics, możesz ją włączyć na stronie
Ustawienia > Integracje w konsoli Firebase.
Pamiętaj, że logi działań użytkownika są dostępne na wszystkich platformach Apple obsługiwanych przez Crashlytics z wyjątkiem watchOS.
Krok 1. Dodaj pakiet SDK Crashlytics do aplikacji.
Do instalowania zależności Firebase i zarządzania nimi używaj menedżera pakietów Swift.
- W Xcode, gdy projekt aplikacji jest otwarty, kliknij 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 w projekcie w Firebase jest włączona usługa Google Analytics.
- Dodaj flagę
-ObjCdo sekcji Other Linker Flags (Inne flagi łączące) w ustawieniach kompilacji celu. - (Tylko macOS) W pliku
Info.plistdodaj kluczNSApplicationCrashOnExceptionsi ustaw go naYES. - Gdy skończysz, Xcode zacznie automatycznie przetwarzać i pobierać 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 udostępnioną 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, aby automatycznie przesyłać pliki dSYM
Aby generować zrozumiałe dla człowieka raporty o awariach, Crashlytics potrzebuje plików symboli debugowania (dSYM) Twojego projektu. Poniżej opisujemy, jak skonfigurować Xcode, aby automatycznie generować pliki dSYM, przetwarzać je i przesyłać przy każdej kompilacji aplikacji.
Otwórz obszar roboczy Xcode projektu, a następnie wybierz plik projektu w nawigatorze po lewej stronie.
Z listy TARGETS (CELE) wybierz główny cel kompilacji.
Kliknij kartę Build Settings (Ustawienia kompilacji), a następnie wykonaj te czynności, aby Xcode generował pliki dSYM dla Twoich kompilacji.
Kliknij Wszystkie, a następnie wyszukaj
debug information format.Ustaw Format informacji na potrzeby debugowania na
DWARF with dSYM Filewe wszystkich typach kompilacji.
Kliknij kartę Build Phases (Fazy kompilacji), a następnie wykonaj te czynności, aby Xcode mógł przetworzyć dSYM i przesłać pliki.
Kliknij > New Run Script Phase (Nowa faza uruchamiania skryptu).
Upewnij się, że ten nowy etap Run Script (Uruchom skrypt) jest ostatnim etapem kompilacji projektu. W przeciwnym razie Crashlytics nie będzie mógł prawidłowo przetworzyć plików dSYM.
Rozwiń nową sekcję Uruchom skrypt.
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 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, uwzględnij te elementy:${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 Otrzymywanie raportów o awariach z usuniętym zaciemnieniem kodu.
Krok 3. Wymuś testową awarię, aby zakończyć konfigurację
Aby dokończyć konfigurowanie usługi Crashlytics i zobaczyć początkowe dane w panelu Crashlytics w konsoli Firebase, musisz wymusić testową awarię.
Dodaj do aplikacji kod, którego możesz użyć do wymuszenia testowej awarii.
Możesz użyć tego kodu, aby dodać do aplikacji przycisk, którego naciśnięcie spowoduje awarię. Przycisk ma etykietę „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
Skompiluj i uruchom aplikację w Xcode z odłączonym debugerem Xcode.
Kliknij Build and then run the current scheme (Skompiluj i uruchom bieżący schemat), aby skompilować aplikację na urządzeniu testowym lub w symulatorze.
Poczekaj, aż aplikacja zacznie działać, a następnie kliknij Zatrzymaj działanie schematu lub działania, 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” dodany za pomocą kodu powyżej.
Po awarii aplikacji uruchom ją ponownie z Xcode, aby mogła wysłać raport o awarii do Firebase.
W konsoli Firebase otwórz panel DevOps i zaangażowanie > Crashlytics, aby sprawdzić, czy jest tam raport o awarii testowej.
Jeśli po odświeżeniu konsoli i odczekaniu 5 minut nadal nie widzisz testowej awarii, włącz dziennik debugowania, aby sprawdzić, czy aplikacja wysyła raporty o awariach.
To wszystko. Crashlytics monitoruje teraz Twoją aplikację pod kątem awarii. Otwórz panel Crashlytics, aby wyświetlić i przeanalizować wszystkie raporty i statystyki.
Dalsze kroki
Dostosuj konfigurację raportów o awariach, dodając raportowanie po wyrażeniu zgody, dzienniki, klucze i śledzenie błędów niekrytycznych.
Eksportuj dane do BigQuery lub Cloud Logging, aby korzystać z zaawansowanych funkcji i analiz, takich jak wysyłanie zapytań do danych, tworzenie niestandardowych paneli i konfigurowanie alertów niestandardowych.