Besser debuggen: So integrieren Sie Debug-Menüs in iOS- und Mac-Apps
Debug-Menüs erleichtern Entwicklern das Austesten neuer Funktionen und die Fehlersuche. Wir zeigen, wie man die Hilfen in Xcode effizient und flexibel umsetzt.
- Kai Brüning
Meist verwenden Entwickler Debug-Menüs nur in Testbuilds der Software, manchmal sind zumindest Teile des Menüs auch in Produktionsbuilds vorhanden. Prominentes Beispiel dafür ist das Entwickler-Menü im Apple-Browser Safari, das sich über die Einstellungen aktivieren lässt.
Menüs sind an sich schnell implementiert. Im einfachsten Fall baut man ein Debug-Menü auf dem Mac wie jedes andere Menü auch: Man stellt die Menüeinträge im Interface-Builder zusammen und bindet per Target / Action den entsprechenden Code daran. Das Menü je nach Konfiguration ein- oder auszublenden, ist schnell hingeschrieben.
Allerdings ist diese Methode nicht sonderlich flexibel: Um beispielsweise in einem Untersystem eine Logging-Variante schaltbar zu machen, müssen Sie das Hauptmenü der App ändern und Code schreiben, der per Target/Action erreichbar sein muss und dann den Logging-Schalter setzt. Besonders hässlich wird das, wenn Frameworks ins Spiel kommen: Jede App, die das Framework benutzt, müsste entsprechende Einträge in ihrem Debug-Menü haben und deren Aktionen über zusätzliche Framework-APIs an das Framework übermitteln. Nichts, was ein Entwickler machen würde, nur weil er lokal mal etwas ausprobieren möchte.
Das war die Leseprobe unseres heise-Plus-Artikels "Besser debuggen: So integrieren Sie Debug-Menüs in iOS- und Mac-Apps". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.