Cookie
FlexiHub Team uses cookies to personalize your experience on our website. By continuing to use this site, you agree to our cookie policy. Click here to learn more.
USB Redirector

Entwicklerwerkzeuge für das iOS-Debugging

iOS-Debugging-Tools sind beim Entwickeln von Anwendungen für das System unverzichtbar. Es ist fast unmöglich, eine fehlerfreie App zu erstellen, ohne Tests durchzuführen. Während der Tests benötigen Sie diese Tools, um die Quelle der aufgetretenen Probleme zu finden. Probleme mit der App beeinträchtigen nicht nur die Benutzererfahrung, sondern verstoßen auch gegen die Richtlinien des App Stores, was die Veröffentlichung erheblich erschwert.

Entwicklerwerkzeuge für das iOS-Debugging
Olga Weis Olga Weis Zuletzt aktualisiert Jul 26, 2024

Debugging-Tools erfüllen verschiedene Rollen, und selbst innerhalb derselben Kategorie können unterschiedliche Tools ihre eigenen Workflows haben. Hier erfahren Sie mehr über einige der besten Softwareoptionen zum Debuggen von mobilen Apps.

FAQ zum iOS-Debugging

Das primäre Debugging-Tool für iOS ist LLDB, das in Xcode integriert ist. Es gibt eine große Vielfalt an weiteren Debugging-Tools.
Sie müssen die Anwendung in Xcode ausführen und Breakpoints an Stellen einrichten, die zum Fehler beigetragen haben könnten. Dann analysieren Sie die Informationen, die Sie von diesen Breakpoints erhalten, und entfernen den Fehler aus dem Code. Das Debuggen der Benutzeroberfläche und anderer Typen von Debugging folgt einem ähnlichen Prozess: Es geht darum, zu testen und auf die Ergebnisse zu reagieren.
Ja, Xcode kann Geräte debuggen, die mit einem USB-Kabel mit dem Mac verbunden sind.

Das richtige Debugging-Tool auswählen

Die Wahl Ihrer Debugging-Tools hängt von Ihrem Workflow und Ihrem Budget ab. Es ist auch wichtig zu bedenken, dass diese Optionen sich nicht gegenseitig ausschließen - tatsächlich kann es notwendig sein, eine Vielzahl von Debugging-Software zu haben. Hier sind einige Tipps:

  • Prüfen Sie, ob die App gut mit Ihren Produktivitäts- und Entwicklungswerkzeugen integriert ist. Lohnt sich der Nutzen trotz der Verwaltung inkompatibler Software?
  • Berücksichtigen Sie die Fähigkeiten, die der Debugger erfordert. Müssen Ihre Entwickler Zeit aufwenden, um sie zu erlernen, und wie viel Zeit?
  • Überlegen Sie, ob die grundlegenden, integrierten Tools bereits Ihre Bedürfnisse abdecken.
  • Und schließlich, wenn Sie kostenpflichtige Lösungen verwenden, bedenken Sie die Möglichkeit, dass Ihre Produktion expandiert. Sie müssten möglicherweise zu einem teureren Plan wechseln oder den Prozess umstrukturieren.

Überblick über iOS-Debugging-Tools

Native Tools

Xcode

Als offizielles Entwicklungsumfeld von Apple enthält Xcode ein vollständiges, aber moderates Funktionskit zum Debuggen einer iOS-Anwendung. Dazu gehören ein vollständiger Simulator, Breakpoints und sogar ein Modus, der während der Laufzeit langsamere UI-Elemente hervorhebt. Es kann auch iPhone-USB-Debugging durchführen.

★ Funktionen

In Xcode können Breakpoints so angepasst werden, dass sie eine bestimmte Aktion ausführen, wenn sie erreicht werden, oder spezifische Bedingungen hinzufügen. Sie können die aufgerufenen Methoden im Navigator sehen und den Klasseninhalt mit Quick Look anzeigen. Dieses Debugging-Tool ist auch mit einigen UI-Optimierungsinstrumenten ausgestattet, wie den farblich gemischten Ebenen und einem Interface-Hierarchie-Browser.

★ Anwendungsfälle

Xcode setzt den Standard für Entwicklung und Testen, und viele andere Apps modifizieren es nur und bieten zusätzliche Funktionen. Debugging ist nicht der Hauptfokus, ebenso wenig wie es in einer standardisierten integrierten Suite sein sollte.

LLDB (Low-Level Debugger)

LLDB ist der Standard-Debugger in Xcode. Die Debugging-Funktionen in Xcode basieren alle darauf, auch wenn sie über die Benutzeroberfläche zugänglich sind. Wenn das Breakpoint-System unzureichend ist, kann es an der Zeit sein, direkte LLDB-Befehle im Terminal auszuführen.

★ Funktionen

Mit LLDB können Sie sich an Prozesse anhängen, Variablen-Watchpoints erstellen, Variablen untersuchen, Threads zurückverfolgen und vieles mehr. Mit der Verwendung von Argumenten kann es sehr spezifische Dinge tun, wie zum Beispiel auf den Start eines Prozesses zu warten, bevor es sich anhängt. LLDB kann für USB-Debugging-Aufgaben des iPhones verwendet werden oder auf eine Simulatorinstanz angewendet werden.

★ Anwendungsfälle

LLDB ist viel umfassender als die in Xcode verfügbaren Optionen und nicht besonders schwer zu erlernen. Getreu seinem Namen ist es die einzige native Option, um Probleme auf niedriger Ebene zu finden, die nicht offensichtlich in Ihrem Code zu erkennen sind.

Instruments

Ein weiterer Teil von Xcode, Instruments, konzentriert sich ausschließlich auf die Datensammlung und Statistik. Der Großteil dieser Daten betrifft die Ressourcennutzung. Instruments verfolgt die Nutzung von CPU-Leistung, Batterieladung, RAM und dergleichen.

★ Funktionen

Instruments sammelt nicht nur Daten, sondern ermöglicht auch deren Filterung und Anzeige für maximalen Komfort. Die gesammelten Informationen werden visuell auf einer Zeitleiste zusammengefasst, mit einem Diagramm für jede verfolgte Statistik. Wenn Sie eine verdächtige Stelle in einem der Diagramme finden, können Sie die Auswahl im Detail anzeigen.

★ Anwendungsfälle

Die Verwendung von Instruments ist ein guter erster Schritt zur Optimierung der Leistung Ihrer App. Speicherlecks und Prozessorüberlastung sind genauso wichtig zu bekämpfen wie Fehler und Abstürze. Und oft können sie nur statistisch gefunden werden.

Simulator

Der Simulator ist als Teil von Xcode enthalten und Sie können eine iOS-Laufzeit herunterladen, um Ihre Apps in einer virtuellen Umgebung auszuführen, ohne ein zusätzliches Gerät zu benötigen. Er kann für einfache praktische Tests oder zur Fehlersuche nützlich sein.

★ Funktionen

Der Simulator kann über einfache Steuerelemente bedient werden und kann Daten vom System des Benutzers empfangen. Diese Anwendung zielt darauf ab, so authentisch wie möglich zu sein, daher bietet sie Optionen für schwer zu simulierende Situationen, wie Stürze, Standortänderungen und Face ID.

★ Anwendungsfälle

Obwohl es ein immens, offensichtlich nützliches Tool ist, ist es auch wichtig, die Unterschiede zwischen einem echten Gerät und einer Simulatorinstanz zu erkennen. Die Hauptunterschiede, vor denen die Apple-Dokumentation warnt, betreffen die Hardware, daher verwenden Sie es nicht als Benchmark.

Ähnliche Artikeln

Drittanbieter-Tools

FlexiHub

FlexiHub virtualisiert USB-Geräte, die an einen Computer angeschlossen sind, und macht sie von einem anderen Computer im Netzwerk aus zugänglich. Die Palette der Geräte umfasst iPhones und iPads. Dies hat einige neuartige und beeindruckende Anwendungen im Bereich der App-Entwicklung, einschließlich des Remote-Debuggings mit Xcode.

★ Funktionen

Ein angeschlossenes Gerät wird über eine verschlüsselte Verbindung mit anderen FlexiHub-Nutzern im selben Netzwerk geteilt, was die Datensicherheit gewährleistet. Das Gerät kann durch ein Passwort geschützt oder vorübergehend gesperrt werden, um seine Nutzung zu verhindern. Wichtig ist, dass FlexiHub vollständig plattformübergreifend ist, sodass ein Windows- oder Linux-Computer als Server für iOS-Geräte fungieren kann, während ein Entwickler sie auf einem macOS-Rechner verwendet.

Remote-Debugging für iOS
30 Tage Demo-Zeitraum

★ Anwendungsfälle

FlexiHub ermöglicht es Remote-Entwicklungsteams, eine zentrale Basis von Geräten zu haben, auf die sie zugreifen und ihre iOS-Software testen können. Dies bietet eine realistischere Alternative zum integrierten Simulator, ohne dass Entwickler ihre eigene Hardware erwerben und warten müssen.

Wir haben auch ein kurzes Video erstellt, um eine praktische Erfahrung beim Verbinden von iOS-Geräten mit dem Mac für das Remote-Debugging zu demonstrieren:
Hinweis: Für die beste Leistung mit iOS-Geräten wird empfohlen, eine direkte Verbindung in FlexiHub zu verwenden, was Maschinen mit öffentlichen IP-Adressen auf beiden Seiten erfordert. Wenn das iOS-Gerät für das Remote-Debugging über WAN verbunden ist, ist es zur Verringerung der Latenzzeit entscheidend, einen Tunnel-Server zu verwenden.

Reveal

Reveal von Itty Bitty Apps ist in vielerlei Hinsicht dem Debug View Hierarchy von Xcode ähnlich. Ein wesentlicher Unterschied besteht darin, dass es mit einer App verknüpft werden muss, um sie zu analysieren. Und dennoch lohnt es sich, es zu verwenden. Lassen Sie uns die Gründe erkunden.

★ Funktionen

Reveal legt großen Wert auf die Benutzeroberfläche, was die Suche nach den benötigten UI-Elementen erleichtert. Sobald Sie diese gefunden haben, können deren Attribute tatsächlich in Echtzeit geändert werden. Layoutprobleme werden automatisch erkannt und hervorgehoben.

★ Anwendungsfälle

Reveal kann eine einfache Verbesserung des Workflows sein, dank seiner Benutzeroberfläche. Es kann bei einer gründlichen Untersuchung eines unbekannten Projekts helfen. Und natürlich ist die schnelle Anpassung der Elementdimensionen und anderer Werte ein Mittel, um mit der Benutzeroberfläche zu experimentieren.

Charles

Charles ist ein Netzwerküberwachungstool, das Anfragen und Antworten verfolgt. Auch hier wird diese Rolle von den integrierten Instruments erfüllt. Charles ist jedoch nicht nur eine Alternative; in Bezug auf HTTP- und SSL-Debugging leistet es viel mehr.

★ Funktionen

Dieses Debugging-Tool kann tatsächlich eigene Anfragen an die getestete App senden. Sie können automatisch erneut gesendet werden, um schnell zu sehen, wie Änderungen das Netzwerkverhalten der App beeinflussen. Charles kann in der Mitte einer SSL-Verbindung eingerichtet werden, was hochgradig nützliche Daten liefert, die sonst gesperrt wären.

★ Anwendungsfälle

Entwickler jeder Internetanwendung, insbesondere einer sicheren, können von Charles stark profitieren. Solange sie wissen, wie sie die Ausgabe interpretieren, können sie HTTP- und SSL-Konnektivitätsprobleme erkennen.

Bugfender

Bugfender ist eine Lösung, die Fehlerberichte und allgemeine Protokolle von Geräten an einen Cloud-Dienst sendet, als eine Form des Remote-Debuggings für iOS. Es ist nicht wirklich für die Verwendung auf einem einzigen Gerät gedacht, sondern eher als eine Möglichkeit, relevante Debugging-Daten von Benutzern zu sammeln. Sie werden in gewisser Weise zu Testern. Die App muss jedoch versandbereit sein - sie ist nicht für frühe Entwicklungsstadien gedacht.

★ Funktionen

Neben einfachen Absturzprotokollen verfolgt Bugfender die App-Leistung und zeichnet alles auf, was auf die Ursache des Fehlers hinweisen könnte. Absturzdaten können in einem Diagramm zusammengefasst werden, das hilfreich ist, wenn Sie sehen möchten, welche Geräte die meisten Probleme verursachen. Bugfender stellt sein eigenes SDK bereit, um diese Funktionen in Apps zu integrieren.

★ Anwendungsfälle

Obwohl es so aussehen mag, als wäre Bugfender nur für große kommerzielle Benutzer gedacht, bietet es tatsächlich einen kostenlosen Plan für unabhängige Entwickler. Dies ist eine Gelegenheit für kleine oder Einzelunternehmen, Debugging-Praktiken zu implementieren, die denen großer Unternehmen entsprechen.

Crashlytics

Crashlytics ist ebenfalls ein Berichterstattungstool und Teil von Google Firebase, aber der Rest der Plattform muss nicht verwendet werden. Das Tool wird durch die Verwendung eines SDKs in Apps eingefügt. Crashlytics ist kostenlos und unbegrenzt.

★ Funktionen

Die Funktionen von Crashlytics drehen sich im Allgemeinen um Datenverarbeitung und Komfort. Wieder einmal sehen Sie Berichtsdiagramme und allgemeine Statistiken. Dieses Debugging-Tool ist benutzerfreundlich für beliebte Projektmanagement-Tools wie Jira.

★ Anwendungsfälle

Wenn Sie Firebase stark in Ihrem Entwicklungsprozess nutzen, ist Crashlytics ein klarer Fall, aber es hat auch viele Vorzüge, die die Nutzung dieses Tools allein rechtfertigen. Beachten Sie, dass es nur Daten zu Abstürzen sammelt. Sie können damit keine Leistungsprobleme oder nicht fatale Fehler erkennen.

Raygun

Raygun ist ein Berichterstattungstool für Abstürze und Benutzerüberwachung. Es sammelt Informationen sowohl über fatale Fehler als auch über die Leistung. Daten können umfassend gesammelt werden, und die Ergebnisse können dann verwendet werden, um den Bereich der verfolgten Geräte einzugrenzen und mehr Metriken von ihnen zu erhalten.

★ Funktionen

Raygun leiht sich viele seiner Werkzeuge aus dem Bereich des Web-UX. Die Metriken beziehen sich auf Ladezeiten der App, sei es eines bestimmten Elements oder allgemein. Was die Fehlerberichte betrifft, so werden diese in grafisch darstellbare Berichte kondensiert und ermöglichen es dem Entwickler, deren detaillierte Informationen nach der Ursache zu durchsuchen.

★ Anwendungsfälle

Mit einem hohen Startpreis von 40 $/Monat richtet sich Raygun an kleine Unternehmen, die sich die Kosten leisten können, und fortschrittliche Funktionen erfordern einen teureren Plan. Es hat denselben Nutzen wie jedes andere Tool zur Fehler- und Leistungsüberwachung - Entwicklern eine Spur zu bieten, der sie nachgehen können.

Fazit

Wie Sie sehen, profitieren viele Aspekte von iOS-Apps vom Debugging, wenn es nicht sogar zwingend erforderlich ist. Der Code selbst, die Benutzeroberfläche, Ressourcen und sogar Netzwerkaktivitäten - je nach Funktionalität Ihrer App benötigen Sie möglicherweise alles davon. Und der Debugging-Workflow kann auch von Tools wie FlexiHub profitieren, die es einfacher machen, Testressourcen bereitzustellen, indem sie es Entwicklern ermöglichen, iOS-Geräte remote zu debuggen.

Flexihub für Remote-Debugging
  • 4.8 Gesamtrang basierend auf 386+ Bewertungen
  • Voraussetzungen: Windows, macOS, Linux, Android und Raspberry Pi.
  • 10.76MB Größe.
  • Version 7.0.15125. (der 3. Jun, 2024).
  • Preise ab $14 pro Monat, jährliche Abrechnung