Ich habe die Crashlytics in meiner einen iOS-Anwendung eingerichtet und die Anwendung auf einem realen Gerät installiert. Mein Crashlytics Dashboard zeigt dies an. Ich habe die App erfolgreich hinzugefügt. Es wird jedoch kein Absturzbericht gesendet. Meine Internetgeschwindigkeit ist nicht so gut. Aber ich kann meine E-Mails von diesem Gerät aus abrufen. Kann jemand erraten, wo das Problem liegt?
ios
crash
crash-reports
crashlytics
Farhad Rubel
quelle
quelle
Antworten:
Mit dem Xcode-Debugger kann Crashlytics KEINE Absturzberichte verarbeiten. Ja, das kommt mir sogar komisch vor, wenn ich das erste Mal lese, aber es ist eine Tatsache ( Quelle ). Dies ist der Grund, warum wir niemals einen Absturzbericht sehen. Wann:
- Ausführen einer App in Simulator
- Ausführen einer App auf iDevice durch direktes Erstellen und Ausführen von Xcode mit aktiviertem Debugger.
So stellen Sie sicher, dass während Ihres Tests ein Absturz gemeldet wird ( kopiert von der Crashlytics-Support-Website ):
1. Starten Sie den Simulator.
2. Drücken Sie Stopp.
3. Starten Sie Ihre App und erzwingen Sie einen Absturz.
4. Starten Sie die App über den Simulator neu.
5. Lesen Sie den Absturzbericht im Web-Dashboard.
BEARBEITEN:
Referenz hinzugefügt; Crashlytics bietet auch einen kurzen Artikel über einen schnellen Weg, um einen Absturz zu erzwingen .
quelle
Es ist spät, aber ich arbeite zu 100%
Nehmen Sie einige Änderungen an den Projekterstellungseinstellungen vor, wie im folgenden Bild dargestellt
und befolgen Sie diese Anweisungen.
quelle
Der Hauptgrund, warum ein Crash-Reporter unter iOS nicht funktioniert, ist die Störung durch verschiedene Crash-Reporter. Bei Crashlytics kann es jedoch zu bestimmten Problemen kommen, die dazu führen, dass der Absturzbericht nicht gemeldet wird.
Mit dem Xcode-Debugger kann kein Crash Reporter Absturzberichte verarbeiten. Dies liegt daran, dass XCode alle Hooks in den Rückrufen zur Absturzbehandlung überschreibt. Dies geschieht nur, wenn:
Um sicherzustellen, dass während Ihres Tests ein Absturz gemeldet wird ( http://support.crashlytics.com/knowledgebase/articles/92523-why-can-ti-have-xcode-connected- ):
Während ein super altes Video immer noch relevant ist, ist hier ein Video der obigen Schritte (Beispiel von Crittercism): https://www.youtube.com/watch?v=sU6Su3PBFH4
quelle
Für mich war das Problem, dass das Gerät mit meinem Mac verbunden war :) Aus dieser Quelle :
quelle
Ich habe die Lösung mithilfe der folgenden Schritte gefunden:
1. Gehen Sie zu Schema bearbeiten. 2. Ausführen -> Info. 3. Ändern Sie die Build-Konfiguration in Release. Führen Sie nun die App zum Absturz aus. Sie erhalten eine E-Mail.
quelle
Wir sind kürzlich auf dieses Problem gestoßen, und ich habe festgestellt, dass irgendwo auf dem Weg das Build-Skript entfernt wurde. Durch erneutes Hinzufügen wurde das Problem für uns behoben:
./Crashlytics.framework/run <your_api_key> <build_secret>
Hinweis: Wenn Sie Cocoapods verwenden, möchten Sie uns Folgendes anstelle der oben genannten ( Quelle ):
./Pods/CrashlyticsFramework/Crashlytics.framework/run
Hinzufügen eines Build-Skripts:
Das obige Zitat stammt aus dem visuellen Tutorial von Crashlytics , auf das in diesem Beitrag verwiesen wird .
Hinweis: Ich habe diese Antwort ursprünglich wörtlich für den Crashlytics-Fehlercode 202 beim Senden von Dateien veröffentlicht .
quelle
Von der RayWenderlich-Website:
quelle
Crashlytics funktioniert bis jetzt für mich. Ich weiß nicht warum, aber jetzt funktioniert es nicht.
Sie sollten den Debug-Modus durch aktivieren
[Crashlytics sharedInstance].debugMode = YES;
Mein Problem ist hier Crashlytics Fehlercode: 202 beim Einreichen von Dateien :(
quelle
Stellen Sie sicher, dass Sie den Absturz nicht zu früh erzwingen.
Setze
[Crashlytics sharedInstance].debugMode
aufYES
;Achten Sie auf
Crashlytics] Settings loaded
in den Xcode-Konsolenprotokollen.
Erzwingen Sie dann den Absturz und starten Sie die App neu. Der Absturz wird jetzt gemeldet.
quelle
Beim Versuch des Testabsturzcodes stieß ich auf ein ähnliches Problem.
Crashlytics.sharedInstance().crash()
Ich habe meine App von einem Gerät ohne Xcode ausgeführt, und der Absturz wurde im Crashlytics Dashboard nicht angezeigt. Was für mich funktioniert hat, war der folgende Tipp von der Crashlytics-Website:
Ich habe den obigen Absturz () -Aufruf auskommentiert und die App erneut ausgeführt. Dann wurde der Absturz im Dashboard angezeigt.
quelle
Dies ist für Xcode 9 aus Crashlytics 3.4.0
Seien Sie danach geduldig und warten Sie einige Minuten.
quelle
Haben Sie versucht,
[[Crashlytics sharedInstance] crash]
auf einem Gerät zu laufen und zu prüfen, ob dies gemeldet wird? Es gibt einige Gründe, warum Crashlytics möglicherweise nicht funktionieren, einschließlich anderer Crash-Reporter usw.quelle
Wenn Sie die dSYM-Datei nicht hochladen, zeigt Crashlytics Ihren Absturz nicht an, obwohl der Bericht erfolgreich hochgeladen wurde.
Dieses Problem kann auftreten, wenn Sie Ihr Build-Skript so eingerichtet haben, dass es nur auf Ihrem CI-Server ausgeführt wird. Wenn Sie Ihre App dann über xcode auf Ihr Telefon kopiert haben und sie ausführen, ohne an den Debugger angehängt zu sein, wird der Bericht hochgeladen, aber aufgrund der fehlenden dSYM-Datei ignoriert.
quelle
Manchmal dauert es einige Zeit, bis die Protokolle angezeigt werden. Ich kann sie nach 15-20 Minuten finden
quelle
Eines der Probleme ist meines Erachtens, dass es in der Run Script-Phase eine separate Run Script-Phase für CrashLytics sein sollte. Wann hatte das Skript ausgeführt
Mit einigen meiner anderen Skripte war alles in Ordnung, CrashLytics Log Show Report wurde übermittelt, aber nichts war in der Weboberfläche.
Wenn ich eine weitere Run-Skriptphase nur mit Fabric-Run hinzufüge, erscheint dies wie eine Magie :)
Mein erster Versuch war mit Cocoapods, aber das hat nicht funktioniert. Wenn ich das gesamte Framework und eine separate Ausführungsskriptphase manuell hinzufüge, hat das funktioniert.
quelle
Das hat bei mir funktioniert,
Wenn Sie auf iDevice testen, trennen Sie iDevice einfach von Ihrem Xcode und führen Sie Ihre App aus. Wenn es abgestürzt ist, wird es im Dashboard aktualisiert.
quelle
Ich habe das Problem gelöst, indem ich die Option "Skript nur bei Installation ausführen" im Skript "Ausführen" deaktiviert habe (eine für Fabric (Crashlytics)).
quelle