Ich liebe es, den Xcode-Debugger zu verwenden. Sie können den Wert einer Variablen anzeigen und sogar ändern.
Aber kann ich das Bild, auf das eine Bildvariable verweist, irgendwie ANZEIGEN? Ich weiß, dass ich seine rohen Bytes sehen kann, aber es wäre viel menschlicher, ein Fenster mit seinem Inhalt anzuzeigen.
Xcode unterstützt dies möglicherweise nicht. Vielleicht gibt es ein externes Tool, mit dem Bilder angezeigt werden können?
BEARBEITEN:
Ab Xcode 5 kann der Debugger Ihnen die visuelle Darstellung von UIImage / CGImageRef-Variablen anzeigen!
Xcode selbst kann das nicht. Ich weiß nichts über externe Tools.
Um Bilder während des Debuggens zu testen, konvertiere ich diese Rohdaten in ein Bilddateiformat wie .png, speichere sie dann irgendwo und öffne das Bild mit einem beliebigen Bildbetrachtungswerkzeug.
Zu diesem Zweck habe ich einen Code, der im Grunde so aussieht:
Und ich kopiere gerade diesen Code, wo ich den Inhalt eines Bildes auf dem Lauf sehen möchte.
Stellen Sie sicher, dass Sie diesen Code aufgrund der hohen Kosten für die Konvertierung von
UIImage
in so schnell wie möglich entfernenNSData
quelle
Für Xcode 5 bearbeiten: Wenn Sie jetzt mit der Maus über einen Bildvariablennamen fahren, wird rechts ein "Augen" -Symbol angezeigt. Klicken Sie einfach darauf, um das aktuelle Bild zu sehen!
HINWEIS: Manchmal schlägt dies in Xcode fehl, auch wenn das Bild korrekt ist. In diesem Fall ODER wenn Sie keine UIImage-Variable haben (z. B. eine Eigenschaft eines anderen Objekts), können Sie weiterhin die ältere Antwort verwenden:
Ältere Antwort: Ausgehend von Avrahams Antwort habe ich einige Experimente zum Anzeigen eines iOS-Bildes von lldb versucht, ohne es neu kompilieren oder einer Ansicht hinzufügen zu müssen. Ich habe mir endlich Folgendes ausgedacht:
Ich behalte diese Zeichenfolge in einem Texteditor und füge sie ein, wenn ich sie brauche. Dadurch wird das aktuelle Bild, an dem ich interessiert bin (in diesem Fall "myImage"), in einer PNG-Datei auf dem Desktop gespeichert. Dann kann ich diese Datei einfach mit Vorschau öffnen.
Wenn Sie an einem iOS-Gerät arbeiten, können Sie verwenden
Dann können Sie den Finder verwenden; wählen sie ihren Gerätetyp; "Dateien"; dann Ihre Entwickler-App und kopieren Sie das Bild auf Ihren Desktop, um es anzuzeigen.
quelle
Wenn Sie arbeiten mit der LLDB Konsole Verwendung Meißel Befehl „visualisieren“
Trinkgeld:
Nach der Installation können Sie einen bedingten Haltepunkt festlegen, nachdem Sie das UIImage mit der folgenden Aktion festgelegt haben: "visualisiere myUIImageToShowWithQuickLook"
Dies zeigt Ihnen das Bild automatisch, wenn der Debugger stoppt.
quelle
Was ist, wenn Sie über die Variablenansicht nicht zum Bild gelangen können?
Echo, was @pkamb gesagt hat - Sie können die Variablenansicht verwenden, um ein Bild schnell anzusehen. Aber was ist, wenn Sie nicht zum Bild gelangen können?
Zum Beispiel habe ich ein Bild bei
(contentViewController.view.subviews[0].subviews[1] as? UIImageView).image
Wenn ich jedoch versuche,
contentViewController
in der Variablenansicht zu erweitern , werden meine Unteransichten nicht angezeigtSie können mit der rechten Maustaste klicken, einen Ausdruck hinzufügen und dann können Sie ihn sehen!
quelle
Sie können einen Haltepunkt in die Zeile Ihres Bildes einfügen und dann im Debugger einfach schreiben:
po
steht fürprint object
, es ist ein GDB-Befehl, der mehrere nützliche Informationen über das übergebene Objekt anzeigt, in Ihrem Fall das Bild.quelle