Catch up on highlights from Firebase at Google I/O 2023. Learn more

Otrzymuj czytelne raporty o awariach w panelu Crashlytics

Domyślnie Firebase Crashlytics automatycznie przetwarza pliki symboli debugowania (dSYM), aby uzyskać przejrzyste i czytelne dla człowieka raporty o awariach. To zachowanie jest ustawiane po dodaniu skryptu uruchamiania, który inicjuje Crashlytics do fazy kompilacji aplikacji.

Niestety istnieje kilka przypadków, które mogą spowodować niepowodzenie przesyłania pliku dSYM, na przykład kod bitowy w aplikacji lub inne unikalne konfiguracje projektu. W tym przewodniku znajdziesz kilka sposobów rozwiązywania problemów, gdy Crashlytics nie może zlokalizować pliku dSYM Twojej aplikacji.

Sprawdź, czy Xcode produkuje pliki dSYM

Najczęściej pliki dSYM znikają, ponieważ Xcode po prostu ich nie produkuje. Gdy przesyłanie nie powiedzie się, Crashlytics wyświetla alert „Brak pliku dSYM” w konsoli Firebase. Jeśli otrzymasz ten alert, najpierw sprawdź, czy Xcode tworzy poprawny plik dSYM dla każdej kompilacji:

  1. Otwórz swój projekt w Xcode i wybierz plik projektu w Xcode Navigator.

  2. Wybierz główny cel kompilacji.

  3. Otwórz kartę Ustawienia budowania celu, a następnie kliknij opcję Wszystkie .

  4. Wyszukaj „format informacji o debugowaniu”.

  5. Ustaw format informacji debugowania na DWARF z plikiem dSYM dla wszystkich typów kompilacji.

  6. Przebuduj swoją aplikację.

Twoje raporty o awariach powinny teraz pojawiać się w konsoli Firebase. Jeśli problem będzie się powtarzał lub napotkasz inne błędy, spróbuj zlokalizować dSYM i ręcznie przesłać go do Crashlytics.

Znajdź swoje pliki dSYM

Czasami Crashlytics nie może zlokalizować pliku dSYM Twojej aplikacji ze względu na konfigurację kodów bitowych lub łączność konsoli. W takim przypadku istnieją dwa dodatkowe sposoby rozwiązywania problemów:

Prześlij swoje pliki dSYM

Aby ręcznie przesłać pliki dSYM, możesz użyć dostępnej w konsoli opcji „przeciągnij i upuść”, aby przesłać archiwum ZIP zawierające pliki dSYM (przejdź do konsoli Firebase > Crashlytics > karta dSYM ).

Alternatywnie, jako kopia zapasowa, Crashlytics zawiera skrypt upload-symbols , który można wywołać z dowolnego miejsca w procesie kompilacji, aby ręcznie przesłać pliki dSYM. Skrypt dostarcza więcej informacji o procesie wysyłania i bardziej wyczerpujące komunikaty o błędach (aby uzyskać uwagi dotyczące użytkowania i dodatkowe instrukcje, uruchom upload-symbols bez żadnych parametrów).

Podczas przesyłania plików dSYM z kodem bitowym pomocne może być usunięcie wszystkich plików ikon z archiwum zip, uruchamiając:

unzip appDsyms.zip
cd appDsyms rm -rf $(find . | grep Icon)
# Enumerate all the dSYMs
upload-symbols ... $(ls)

Aby uruchomić skrypt upload-symbols , użyj jednej z następujących opcji:

  • Uwzględnij następujący wiersz w procesie kompilacji:

    find dSYM_DIRECTORY -name "*.dSYM" | xargs -I \{\} $PODS_ROOT/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p PLATFORM \{\}
  • Uruchom skrypt bezpośrednio z terminala:

    /PATH/TO/PODS/DIRECTORY/FirebaseCrashlytics/upload-symbols -gsp /PATH/TO/GoogleService-Info.plist -p ios /PATH/TO/dSYMs