Skonfigurowałem Crashlytics w mojej jednej aplikacji na iOS i zainstalowałem aplikację na prawdziwym urządzeniu. Mój pulpit nawigacyjny Crashlytics wyświetla to, pomyślnie dodałem aplikację. Jednak nie wysyła raportu o awarii. Moja prędkość internetu nie jest tak dobra. Ale mogę sprawdzić pocztę na tym urządzeniu. Czy ktoś może zgadnąć, gdzie jest problem?
ios
crash
crash-reports
crashlytics
farhad rubel
źródło
źródło
Odpowiedzi:
Debuger Xcode NIE zezwala Crashlytics na przetwarzanie raportów o awariach. Tak, to wydaje się dziwne nawet mi, kiedy czytam to po raz pierwszy, ale to fakt ( Źródło ). Z tego powodu nigdy nie widzimy raportu o awarii, gdy:
- uruchamianie aplikacji w symulatorze
- uruchamianie aplikacji na iDevice przez bezpośrednie kompilowanie i uruchamianie z Xcode z włączonym debugerem.
Aby upewnić się, że podczas testowania została zgłoszona awaria ( skopiowana ze strony pomocy Crashlytics ):
1. Uruchom symulator
2. Naciśnij stop
3. Uruchom aplikację i wymuś awarię
4. Uruchom ponownie aplikację z symulatora
5. Zobacz raport o awarii w panel internetowy.
EDYTOWAĆ:
Dodano odniesienie; Crashlytics udostępnia także krótki artykuł na temat szybkiego wymuszenia awarii .
źródło
Może jest późno, ale pracuję w 100%
Wprowadź pewne zmiany w ustawieniach kompilacji projektu, jak na poniższym obrazku
i postępuj zgodnie z tymi instrukcjami.
źródło
Głównym powodem, dla którego zgłaszający awarie nie będzie działać w systemie iOS, są zakłócenia ze strony różnych osób zgłaszających awarie. Jednak w przypadku Crashlytics może istnieć coś konkretnego, co powoduje, że raport o awarii nie zostanie zgłoszony.
Debugger Xcode NIE zezwala żadnemu programowi Crash Reporter na przetwarzanie raportów o awariach. Dzieje się tak, ponieważ XCode zastępuje wszelkie podpięcia do wywołań zwrotnych obsługi awarii. Dzieje się tak tylko wtedy, gdy:
Aby upewnić się, że podczas testów zgłoszono awarię ( http://support.crashlytics.com/knowledgebase/articles/92523-why-can-ti-have-xcode-connected- ):
Chociaż bardzo stary film jest nadal aktualny, oto film przedstawiający powyższe kroki (przykład z Crittercism): https://www.youtube.com/watch?v=sU6Su3PBFH4
źródło
U mnie problem polegał na tym, że urządzenie było podłączone do mojego Maca :) Z tego źródła :
źródło
Znalazłem rozwiązanie, wykonując następujące kroki:
1. Przejdź do Edytuj schemat 2. Uruchom -> Informacje 3. Zmień konfigurację kompilacji na wydanie. Teraz uruchom aplikację, aby ją rozbić. Otrzymasz pocztę.
źródło
Niedawno napotkaliśmy ten problem i odkryłem, że gdzieś po drodze skrypt kompilacji został usunięty. Dodanie go z powrotem z następującymi rozwiązaniami rozwiązało problem:
./Crashlytics.framework/run <your_api_key> <build_secret>
Uwaga: podczas korzystania z Cocoapods będziesz chciał, abyśmy zamiast powyższego ( źródło ):
./Pods/CrashlyticsFramework/Crashlytics.framework/run
Dodawanie skryptu kompilacji:
Powyższy cytat pochodzi z wizualnego samouczka Crashlytics , do którego odwołuje się ten post .
Uwaga: pierwotnie opublikowałem tę odpowiedź dosłownie dla kodu błędu Crashlytics: 202 podczas przesyłania plików .
źródło
Ze strony RayWenderlich:
źródło
Crashlytics działa dla mnie do teraz. Nie wiem dlaczego, ale teraz to nie działa.
Powinieneś włączyć tryb debugowania przez
[Crashlytics sharedInstance].debugMode = YES;
Mój problem jest tutaj Kod błędu Crashlytics: 202 podczas przesyłania plików :(
źródło
Upewnij się, że nie wymuszasz awarii zbyt wcześnie.
Ustaw
[Crashlytics sharedInstance].debugMode
naYES
;Uważaj na
Crashlytics] Settings loaded
w dziennikach konsoli Xcode.
Następnie wymuś awarię i uruchom ponownie aplikację, a awaria zostanie teraz zgłoszona.
źródło
Napotkałem podobny problem podczas testowania kodu awarii.
Crashlytics.sharedInstance().crash()
Uruchomiłem aplikację na urządzeniu bez Xcode, a awaria nie pojawiła się na pulpicie Crashlytics. U mnie zadziałała następująca wskazówka ze strony Crashlytics:
Skomentowałem powyższe wywołanie crash () i ponownie uruchomiłem aplikację. Następnie awaria pojawiła się na desce rozdzielczej.
źródło
To jest dla xcode 9, z crashlytics 3.4.0
Po wykonaniu tej czynności bądź cierpliwy i odczekaj kilka minut.
źródło
Czy próbowałeś uruchomić
[[Crashlytics sharedInstance] crash]
urządzenie i sprawdzić, czy zostanie to zgłoszone? Istnieje kilka powodów, dla których Crashlytics może nie działać, w tym inni reporterzy awarii itp.źródło
Jeśli nie prześlesz pliku dSYM, Crashlytics nie pokaże Twojej awarii, mimo że raport został pomyślnie przesłany.
Możesz napotkać ten problem, jeśli skonfigurowałeś skrypt kompilacji tak, aby działał tylko na serwerze CI. Następnie, jeśli skopiowałeś swoją aplikację do telefonu przez xcode i uruchomisz ją bez dołączenia do debuggera, raport zostanie przesłany, ale zignorowany z powodu brakującego pliku dSYM.
źródło
Czasami pojawienie się dzienników zajmuje trochę czasu. Jestem w stanie je znaleźć po 15-20 minutach
źródło
Jednym z problemów, które uważam, że w fazie uruchamiania skryptu powinna być osobna faza uruchamiania skryptu dla CrashLytics. Kiedy miał skrypt uruchamiania
W przypadku niektórych moich innych skryptów wszystko było w porządku, raport dziennika CrashLytics został przesłany, ale w interfejsie internetowym nic nie było.
Kiedy dodam kolejną fazę skryptu Run tylko z uruchomieniem Fabric, wygląda to jak magia :)
Moja pierwsza próba była z cocoapods, ale to nie zadziałało. Kiedy ręcznie dodaję całą strukturę i oddzielną fazę skryptu uruchamiania, która zadziałała.
źródło
To zadziałało dla mnie,
Jeśli testujesz na iDevice, po prostu odłącz iDevice ze swoim Xcode i uruchom aplikację. Teraz, jeśli się rozbił, zostanie zaktualizowany na desce rozdzielczej.
źródło
Rozwiązałem przez odznaczenie opcji „Uruchom skrypt tylko podczas instalacji” w skrypcie Uruchom (jedna dla Fabric (crashlytics))
źródło