Gibt es ein GUI-Tool, das die Ansichtshierarchie einer iOS-App überprüft? Ich denke an Webkits Web Inspector oder ähnliche Tools. Ich möchte Layoutprobleme beheben, z. B. Ansichten mit falscher Position oder Größe oder ein Kind, das nicht ordnungsgemäß in seinem übergeordneten Element enthalten ist. Derzeit muss ich Asserts hinzufügen, die diese verschiedenen Bedingungen von Hand testen oder unterschiedliche Hintergrundfarben für unterschiedliche Ansichten festlegen. Wie Sie sich vorstellen können, ist dies ein sehr langwieriger Weg.
Ich habe mir Instruments angesehen UI recorder
, aber das zeichnet nur UI-Aktionen auf und spielt sie ab. Auf jeden Fall funktioniert es nur für Mac-Apps.
Gibt es eine bessere Lösung?
quelle
Ich weiß nicht, ob es ein Tool zur Überprüfung der GUI-Ansicht gibt, aber ich hatte etwas Glück mit der Debugging-Methode in UIView:
-recursiveDescription
wenn Sie das Programm im Debugger anhalten und in GDB eingeben (Bearbeiten: funktioniert auch in LLDB)
Sie erhalten einen Ausdruck Ihrer gesamten Ansichtshierarchie. Sie können es auch in einer bestimmten Ansicht aufrufen, um einen Ausdruck der Ansichtshierarchie dieser Ansicht zu erhalten.
Es kann ein wenig langweilig sein, durch die Informationen zu waten, die Sie daraus erhalten, aber es hat sich für mich als nützlich erwiesen.
Dank geht an diesen Blog-Beitrag, der über diese Methode sprach und auch mit diesem hilfreichen, aber ziemlich schwer zu findenden technischen Hinweis von Apple verknüpft war .
quelle
Seltsamerweise gibt es jetzt eine andere Option, http://revealapp.com/ , die sich ab diesem Beitrag in einer offenen (kostenlosen) Beta befindet. Wie Sie sehen können, handelt es sich um einen weiteren visuellen Inspektor.
EDIT 2014-04-05: Reveal ist aus der Beta und nicht mehr kostenlos. Es gibt jedoch eine 30-Tage-Testversion.
quelle
Diese Frage ist alt, aber lassen Sie mich hier Informationen über das neue Tool einfügen, das ich entwickle: https://github.com/glock45/iOS-Hierarchy-Viewer
quelle
Um diesen Thread auf dem neuesten Stand zu halten, habe ich kürzlich mit Spark Inspector gespielt . Es ist nicht kostenlos, aber es ist sehr schön.
quelle
Der FLEX-Debugger bietet einen Inspektor für die Ansicht in der App, mit dem Sie die Benutzeroberfläche in einer laufenden App ändern können. Es protokolliert auch Netzwerkanforderungen.
https://github.com/Flipboard/FLEX
quelle
Kostenlos: Geben Sie dies einfach in Inspector ein:
Kommerziell: http://revealapp.com/ Ich habe die Beta-Version von enthüllenapp getestet, es war gut, hat aber Fehler. Ein weiteres kommerzielles Tool: http://sparkinspector.com/ Es funktioniert nahtlos.
quelle
Swift 4.
iOS :
macOS :
Verwendung (im Debugger):
po myView.dump()
quelle
Dies gibt alles im Debug-Fenster aus. (Schwer zu lesen) :( Arbeiten unter iOS 10, Xcode 8.3.3
quelle
Die genehmigte Antwort funktioniert bei mir mit Xcode 8 und Swift 2.3 nicht mehr . Folgendes funktioniert bei mir:
po UIApplication.sharedApplication().keyWindow?.recursiveDescription()
quelle
Geben Sie für Swift / Xcode 10 Folgendes in die Debug-Konsole ein:
Es wird eine rekursive Hierarchie für eine bestimmte ausgegeben
UIView
.(Credit: So debuggen Sie Ihre Ansichtshierarchie mit recursiveDescription )
quelle