it-swarm.com.de

Crashlytics sendet keinen Crash-Bericht vom iPhone

Ich habe Crashlytics in meiner einzigen iOS-Anwendung eingerichtet und auf einem echten Gerät installiert. Mein Crashlytics Dashboard zeigt das an, ich habe die App erfolgreich hinzugefügt. Es wird jedoch kein Absturzbericht gesendet. Meine Internetgeschwindigkeit ist nicht so gut. Ich kann jedoch meine E-Mails von diesem Gerät aus überprüfen. Kann jemand raten, wo ist das Problem?

64
farhad rubel

Der Xcode-Debugger erlaubt Crashlytics NICHT, Absturzberichte zu verarbeiten. Ja, das erscheint mir sogar komisch, als ich das erste Mal las, aber es ist eine Tatsache ( Source ). Aus diesem Grund sehen wir niemals einen Absturzbericht.
- App im Simulator ausführen
- Ausführen der App auf iDevice durch direktes Erstellen und Ausführen von Xcode mit aktiviertem Debugger. 

So stellen Sie sicher, dass während des Tests ein Absturz gemeldet wird ( von Crashlytics-Support-Site kopiert):
1. Starten Sie den Simulator
2. Stopp drücken
3. Starten Sie Ihre App und erzwingen Sie einen Absturz
4. Starten Sie die App über den Simulator erneut
5. Sehen Sie sich den Absturzbericht im Web-Dashboard an.

BEARBEITEN:

Eine Referenz hinzugefügt. Crashlytics bietet auch einen kurzen Artikel zu eine schnelle Möglichkeit, einen Absturz zu erzwingen und einen Artikel zu warum Sie die Daten Ihres ersten Absturzes nicht sehen .

69
Saurabh Hooda

Ich bin spät dran und arbeite 100%

Nehmen Sie einige Änderungen an den Projekterstellungseinstellungen vor (siehe Bild unten)

 enter image description here

und folge diesen Anweisungen.

58
Anand Suthar

Der Hauptgrund, warum Crash-Reporter nicht unter iOS funktionieren, ist auf Interferenzen von verschiedenen Crash-Reportern zurückzuführen. Speziell für Crashlytics könnte jedoch etwas Besonderes für sie vorliegen, wodurch der Absturzbericht nicht gemeldet wird.

Der Xcode-Debugger erlaubt NICHT, dass Any Crash Reporter Absturzberichte verarbeitet. Dies liegt daran, dass XCode alle Hooks in den Rückrufaktionen zur Absturzbehandlung überschreibt. Dies geschieht nur, wenn:

  • app im Simulator ausführen (mit Debugger)
  • ausführen der App auf iDevice durch direktes Erstellen und Ausführen von Xcode mit Debugger.

So stellen Sie sicher, dass während Ihres Tests ein Absturz gemeldet wird ( http://support.crashlytics.com/knowledgebase/articles/92523-why-can-t-i-have-xcode-connected- ):

  1. Simulator starten
  2. Stopp drücken
  3. Starten Sie Ihre App und erzwingen Sie einen Absturz
  4. Starten Sie die App über den Simulator erneut
  5. Siehe den Absturzbericht im Web-Dashboard.

Während ein super altes Video immer noch relevant ist, finden Sie hier ein Video mit den obigen Schritten (Beispiel von Crittercism): https://www.youtube.com/watch?v=sU6Su3PBFH4

14
Eddie Freeman

Für mich bestand das Problem darin, dass das Gerät an meinen Mac angeschlossen war:) Von dieser Quelle :

Wenn Sie Ihr Gerät an Ihren Mac angeschlossen haben, können Sie den Debugger von XCode wird auch einspringen. Trennen Sie daher das Gerät vor dem Testen ab :)

7
Fengson

Wir sind vor kurzem auf dieses Problem gestoßen und ich habe festgestellt, dass das Build-Skript irgendwo entfernt wurde. Durch das Hinzufügen des folgenden Problems wurde das Problem für uns behoben:
./Crashlytics.framework/run <your_api_key> <build_secret>

Hinweis: Wenn Sie Cocoapods verwenden, sollten Sie anstelle der obigen Angaben ( source ) Folgendes verwenden: ./Pods/CrashlyticsFramework/Crashlytics.framework/run

Ein Build-Skript hinzufügen: 

  1. Um eine Skriptphase zum Ausführen von Skripts in Xcode 6 hinzuzufügen, wählen Sie Ihr Anwendungsziel in Ihrem Projekt aus und wählen Sie dann "Phasen erstellen".
  2. Klicken Sie auf das kleine "Plus" -Symbol und wählen Sie "Neue Phase zum Erstellen von Skripts".
  3. In der Mitte Ihrer Build-Phase-Optionen sollte jetzt ein Abschnitt "Skript ausführen" angezeigt werden, wie oben gezeigt.
  4. Fügen Sie im Rumpf der Run Script Build-Phase das Skript ein.`

Das obige Zitat stammt aus Crashlytics visuellem Tutorial , auf das in diesem Beitrag verwiesen wird.

Hinweis: Diese Antwort wurde ursprünglich wörtlich für Crashlytics-Fehlercode: 202 beim Senden von Dateien veröffentlicht.

6
James Nelson

Ich habe mit folgenden Schritten eine Lösung gefunden
1. Gehen Sie zum Bearbeitungsschema 2. Führen Sie -> Info .__ aus. 3. Ändern Sie die Build-Konfiguration in Version . Führen Sie nun die App zum Absturz aus. Sie erhalten Post.

6
GSK

Von der RayWenderlich-Site:

Es werden keine Absturzberichte angezeigt, wenn Xcode das Absturzereignis abfängt! Damit alle unten aufgeführten Beispiele funktionieren, müssen Sie die .__-Datei erstellen und ausführen. Anwendung, klicken Sie dann auf die Stopp-Schaltfläche in Xcode. Auf diese Weise wirst du haben Sie die neueste Version auf dem Gerät installiert. Einmal ist das Anschließend können Sie die App auf dem Gerät selbst starten und anschließend abstürzen alles was du willst! Alle Abstürze auf Ihrem iOS-Gerät werden aufgefangen und an die Serverkomponente des Dienstes gesendet, den Sie integriert haben in die app. Absturzberichte werden in der Regel am nächsten .__ an den Server gesendet. Wenn Sie die App starten, müssen Sie die folgenden Schritte ausführen, um einen Absturz zu erzeugen Bericht auf dem Server sind wie folgt: Erstellen und Ausführen von Xcode. Drücken Sie die Stopptaste. Führen Sie die App auf Ihrem iOS-Gerät aus. Die App zum Absturz bringen Lauf die app wieder.

4
Michel Goñi

Ich hatte ein ähnliches Problem, als ich den Test-Absturzcode ausprobierte.

Crashlytics.sharedInstance().crash()

Ich habe meine App von einem Gerät aus ohne Xcode ausgeführt und der Absturz würde nicht in Crashlytics Dashboard angezeigt. Was für mich funktioniert hat, war folgender Tipp von der Crashlytics-Website:

  • Stellen Sie sicher, dass Sie die App nach dem Absturz starten, damit der Absturz hochgefahren werden kann

Ich habe den obigen crash () - Aufruf auskommentiert und die App erneut ausgeführt. Dann wurde der Absturz im Dashboard angezeigt.

3
Ravi

Stellen Sie sicher, dass Sie den Absturz nicht zu früh erzwingen.

Setze [Crashlytics sharedInstance].debugMode auf YES;

Achten Sie auf

Crashlytics] Settings loaded

in den Xcode-Konsolenprotokollen.

Erzwingen Sie dann den Absturz und starten Sie die App erneut. Der Absturz wird jetzt gemeldet.

3
erkanyildiz

Crashlytics funktioniert bis jetzt für mich ... Ich weiß nicht warum, aber jetzt funktioniert es nicht.

Sie sollten den Debug-Modus mit aktivieren

[Crashlytics sharedInstance].debugMode = YES;

Mein Problem ist hier Crashlytics Fehlercode: 202 beim Senden von Dateien :(

2
Tony

Wenn Sie die dSYM-Datei nicht hochladen, zeigt Crashlytics Ihren Absturz nicht an, obwohl der Bericht erfolgreich hochgeladen wurde.

Dieses Problem könnte auftreten, wenn Sie Ihr Build-Skript so eingerichtet haben, dass es nur auf Ihrem CI-Server ausgeführt wird. Wenn Sie Ihre App über xcode auf Ihr Telefon kopiert haben und sie ohne Anhängen an den Debugger ausführen, wird der Bericht hochgeladen, jedoch ignoriert, da die dSYM-Datei fehlt.

1
thetrutz

Haben Sie versucht, [[Crashlytics sharedInstance] crash] auf einem Gerät auszuführen und zu sehen, ob dies gemeldet wird? Es gibt einige Gründe, warum Crashlytics nicht funktionieren, einschließlich anderer Absturzreporter usw.

1
Patrick Tescher

Manchmal dauert es einige Zeit, bis die Protokolle angezeigt werden. Ich kann sie nach 15-20 Minuten finden

0
Lax

Ich denke, dass es in der Run Script-Phase eine separate Run Script-Phase für CrashLytics sein sollte. Wann hatte das Run-Skript 

./Fabric.framework/run

Bei einem Teil meines anderen Skripts war alles in Ordnung, der CrashLytics-Protokollbericht wurde übermittelt, aber es war nichts in der Weboberfläche. 

Wenn ich eine weitere Run-Skriptphase nur mit Fabric ausführen, erscheint es wie eine Zauberei :) 

Mein erster Versuch war mit Kokosapoden, aber das hat nicht funktioniert. Wenn ich das gesamte Framework manuell hinzufüge und eine separate Skriptphase ausführte, die funktionierte. 

0
karim

Dies ist für xcode 9 von crashlytics 3.4.0  STEP1  STEP2

Seien Sie danach geduldig und warten Sie einige Minuten.

0
Ted