Ich erhalte Absturzberichte über Benutzer meiner iOS-App, stürze aber ab, ich kann mich nicht reproduzieren, noch kann ich den Fehler in eine Zeile in meinem eigenen Code zurückverfolgen (außer dass er aus Zeile 14 in main.m stammt) Dies ist jedoch die Standardanwendungs-Erstellung von iOS-Apps unter dem Absturzbericht, den ich erhalten habe.
Versteht, dass ein Objekt mit dem Index 0 irgendwann aus einem leeren Array abgerufen wird. Aber da es nicht auf meinen eigenen Code zu zeigen scheint, kann es ein Fehler in iOS sein? (Es passiert auf verschiedenen Plattformen und mit verschiedenen iOS-Versionen).
Ich hoffe, jemand hat eine Idee, was passiert oder kann mir in die richtige Richtung zeigen. Danke.
ABBRUCHBERICHT:
%Vor%Eine Möglichkeit, dieses Problem zu beheben, besteht darin, einen symbolischen Haltepunkt für objectAtIndex hinzuzufügen: Dies kann zu viele Treffer für objectAtIndex führen: bevor der Debugger den gewünschten Treffer erreicht, aber garantiert gefunden wird .
Schritte in Xcode 4:
Wenn Sie zur Laufzeit nicht wissen, welchen objectAtIndex: Sie schlagen, bewegen Sie den Schieberegler am unteren Rand des Debug Navigator ganz nach rechts.
Dies wird den Debugger an der beanstandeten Zeile stoppen:
Xcode / Edit Scheme / Diagnose / Protokoll-Ausnahmen.
Dieser Fehler bedeutet, dass Sie versuchen, ein Objekt von einem NSArray von einer Position zu erhalten, an der kein Objekt gefunden wird. Mit anderen Worten: Wenn der Index 0 ist, dann ist Ihr Array leer.
Und am wahrscheinlichsten ist es Ihr Code, wie main () Ihren Code aufruft.
Sie müssen Ihr Projekt nach allen Verwendungen von objectAtIndex:
durchsuchen und jeden als den Täter ausschließen. Stellen Sie sicher, dass Sie nie in einem leeren Array aufrufen.
Noch ein Tipp: Wenn Sie wissen, dass Sie nur das letzte Objekt in einem Array erhalten wollen, oder wissen Sie, dass das Array immer nur ein Objekt enthält, können Sie lastObject
anstelle von% co_de verwenden % - es ist sicherer, weil es keine Ausnahme auslöst, obwohl Sie immer noch nach objectAtIndex:
suchen müssen.
Tags und Links objective-c ios nsarray crash