2017-12-18 472 views
5

Próbuję zintegrować Firebase Crashlytics w mojej aplikacji iOS z włączoną funkcją Firebase Crash Reporting. Mam następnie dokumentacja here, ale mój build zawsze zawiedzie podczas uruchamiania niestandardowych fazę produkcji:Konfiguracja Firebase Crashlytics w systemie iOS?

"${PODS_ROOT}/Fabric/run" 

Błąd w Xcode jest następujący:

error: Fabric: Configuration Issue

Fabric API key not valid. Your Fabric run script build phase should contain your API key: ./Fabric.framework/run INSERT_YOUR_API_KEY INSERT_YOUR_BUILD_SECRET

nie mam klucza API Fabric i przypuszczam, że klucze do tkanin powinny być przechowywane w bibliotece Firebase. Mam plik Info.plist w moim projekcie, Firebase jest w pełni funkcjonalny, ale nie mogę ominąć fazy uruchamiania Fabric. Każda pomoc, jak to naprawić, jest bardzo doceniana!

+0

Komunikat o błędzie jest jasny, musisz uzyskać klucz API – claudio

+2

Tak właśnie myślałem, ale w dokumentacji wyraźnie zaznaczono, że ** nie potrzebujesz klucza API **. W końcu znalazłem rozwiązanie, aplikacja Fabric.app na OSX automatycznie ustawia twój klucz api Fabric w pliku app-info.plit, który skrypt odczytuje, i zawiedzie, jeśli go nie dostarczysz. Usunięcie tego formularza z info.plist, a skrypt po prostu działa. –

Odpowiedz

12

W końcu zorientowałem się, publikując dla każdego, kto może być zaskoczony tym samym problemem.

Jeśli próbowałeś zainstalować materiał za pośrednictwem OSX Fabric.app, to doda twój klucz Fabric API do twojej listy Info.plist, którą próbuje napisać skrypt budujący inicjalizację Fabric (chyba).

Po usunięcie klucze Fabric tworzą info.plist skrypt działa, bez potrzeby żadnych klawiszy/params.

Dokumenty Firebase powinny zawierać ostrzeżenie dotyczące fragmentu kodu.

+0

Miałem dokładnie ten sam problem, a ja poszedłem za twoim wpisem i usunąłem klucz API. Teraz działa. Ale awarie nie są rejestrowane w Firebase. Każdy pomysł, dlaczego tak się dzieje? – Illep

+0

Miałem również problemy z Crashlytics.sharedInstance(). Crash() (na Androidzie działało jednak na iOS), więc proponuję utworzyć prawdziwą awarię podobną do tej: 'let nilVar: String? = nil nilVar! .isEmpty() ' Daj mi znać, jeśli pojawi się awaria (daj co najmniej 5 minut, chociaż kiedy to działa, awarie pojawiają się prawie natychmiast). –

+1

Niestety nie. Nie jest rejestrowany w bazie firebase. Ale mówi, że awaria została przesłana. ': [Firebase/crash] [I-CRA100002] Wywala pomyślnie przesłany ( \t 1e21a90b1c000000 \t)' – Illep