2016-06-09 51 views
7

Przygotowuję Firebase Crash Reporting na mojej aplikacji na iOS. Zaimportowałem niezbędne pliki json i skonfigurowałem skrypt powłoki. Jednak po kliknięciu uruchom na symulatorze, otrzymuję 11 błędów, wszystkie mówią o tym samym. Oto dwa z nich:Zgłaszanie problemów z Firebase Crash

warning: dump_syms: /var/folders/5l/20by_c_57fb7jhv3jh72jw9m0000gn/T/com.google.FirebaseCrashReporter.TAlixfZc/**App Name**.dSYM/Contents/Resources/DWARF/**App Name**: in compilation unit '/Users/mikelehen/firebase/firebase-client-objc/Firebase/Firebase/Utilities/FUtilities.m' (offset 0x28a2e): ` 

warning: dump_syms: /var/folders/5l/20by_c_57fb7jhv3jh72jw9m0000gn/T/com.google.FirebaseCrashReporter.TAlixfZc/**App name**.dSYM/Contents/Resources/DWARF/**App Name**: the DIE at offset 0x28fc1 has a DW_AT_abstract_origin attribute referring to the die at offset 0x2940f, which either was not marked as an inline, or comes later in the file ` 

Kiedy próbuję uruchomić go na moim iPhonie otrzymuję tylko cztery numery.

Ponadto, moje imię nie jest mikelehen, który jest z jakiegoś powodu w jednym z problemów.

Po wykonaniu instrukcji ze strony internetowej Firebase dotyczących symulacji awarii nigdy nie otrzymam danych wyjściowych z dziennika o awarii, która została przesłana.

Jakieś pojęcie o tym, co robię źle tutaj?

Edit: Oto skrypt, który jest w moim fazach produkcji:

JSON_FILE="../**App Name**/ServiceAccount.json" 

GOOGLE_APP_ID=1:**App ID** 

defaults write com.google.SymbolUpload version -integer 1 
JSON=$(cat "${JSON_FILE}") 
/usr/bin/plutil -replace "app_${GOOGLE_APP_ID//:/_}" -json "${JSON}" "$HOME/Library/Preferences/com.google.SymbolUpload.plist" 
"${PODS_ROOT}"/FirebaseCrash/upload-sym 

Odpowiedz

8

Spróbuj:

  1. Zbuduj Fazy -> Run Script
  2. Kliknij Run script only when installing
+0

To działało! Dzięki! –

+6

Ustawienie tej flagi oznacza, że ​​pliki symboli nie zostaną przesłane, gdy archiwizujesz aplikację do wydania (czyniąc je prawie bezużytecznymi). –

+0

@Simon masz rozwiązanie? –

3

ostrzeżenia te nie są szkodliwe dla większości. Narzędzie dump_syms dostarczane z Cocoapod nie jest w pełni wyprodukowane, więc zgłasza błędy przy użyciu nazw plików osoby, która je skompilowała (mikelehen w tym przypadku). Aktywnie szukamy alternatyw dla dump_syms, ponieważ ostrzeżenia są rozpraszające.

0

Jak wspomniał Robert, ostrzeżenia są nieszkodliwe. Oto kilka sugestii, które mogą Ci pomóc, jeśli masz problem z awarią do przesłania:

1) Upewnij się, że debuger jest , a nie, gdy wystąpi awaria. Przechwyci wyjątek i nic nie zostanie zgłoszone. Więc skompiluj swój program, naciśnij stop w debugerze, ręcznie uruchom aplikację (w symulatorze lub urządzeniu), uruchom awarię, a następnie uruchom ponownie aplikację (bez awarii, więc błąd ma czas na zgłoszenie).

2) Powinien zostać wyświetlony komunikat dziennika, że ​​zainicjowano raportowanie awarii Firebase. Jeśli tego nie zrobisz, upewnij się, że masz pod ręką Firebase/Crash pod i wywołałeś [FIRApp configure] ;.

3) W ciągu 15 sekund powinien pojawić się kolejny komunikat wskazujący, że raport został pomyślnie wysłany. Pamiętaj, aby poczekać co najmniej 15 sekund. Raporty są przesyłane z opóźnieniem, aby uniknąć zakłócania uruchamiania aplikacji.

4) Po przesłaniu raportu upływa do 20 minut, zanim dane pojawią się w konsoli internetowej.

5) Jeśli nie korzystasz z opcji cocoapod, upewnij się, że dodałeś flagę łącznika ObjC w innych ustawieniach linkera w ustawieniach budowania celu.

0

The dump_syms ostrzeżeń wygenerowanych nie są szkodliwe i są generowane, gdy pliki są przesyłane symbol. Więc jeśli chcesz uniknąć ostrzeżeń za każdym razem, gdy budujesz, możesz utworzyć dwa cele; debugowanie i wydawanie. Następnie wystarczy wyłączyć opcję "Uruchom skrypt tylko podczas instalacji" dla debugowania i włącz go do wydania. Spowoduje to załadowanie plików symboli.