Zum Inhalt springen

Xcode-Starts durch Deaktivieren des Debug-Executables beschleunigen

Eine versteckte Xcode-Scheme-Einstellung, die die App-Startzeiten während der Entwicklung deutlich verkürzen kann.

Das Problem mit dem leeren Bildschirm

Wenn du jemals eine Verzögerung bemerkt hast – manchmal mehrere Sekunden – zwischen dem Drücken von Run in Xcode und dem tatsächlichen Erscheinen deiner App, ist der Übeltäter oft der LLDB-Debugger, der sich an deinen Prozess anhängt. Während dieser Zeit zeigt der Simulator einen leeren Bildschirm, während der Debugger initialisiert wird.

Comparison of launch times with and without debug executable enabled

Wo die Einstellung zu finden ist

Die Einstellung befindet sich in deiner Scheme-Konfiguration:

  1. Gehe zu Product > Scheme > Edit Scheme (oder drücke Cmd+Shift+<)

  2. Wähle links die Run-Aktion aus

  3. Wechsle zum Info-Tab

  4. Deaktiviere Debug executable

The setting before the change

The setting after unchecking Debug executable

Was das bewirkt

Wenn „Debug executable” aktiviert ist (der Standard), hängt Xcode den LLDB-Debugger beim Start an deinen App-Prozess an. Das ist es, was Breakpoints, den Debug Memory Graph, den View Hierarchy Debugger und po-Befehle in der Konsole ermöglicht.

Das Deaktivieren überspringt das Anhängen des Debuggers komplett. Deine App startet merklich schneller – meiner Erfahrung nach kann der Unterschied bei größeren Projekten 2 bis 5 Sekunden betragen. Konsolenausgaben über print() und os_log funktionieren weiterhin normal, sodass du Logging fürs Debugging weiter nutzen kannst.

Der Kompromiss

Ohne angehängten Debugger verlierst du:

  • Breakpoints (sie werden nicht ausgelöst)

  • po- und expression-Befehle in der Konsole

  • Memory Graph und View Hierarchy Debugging-Tools

Das macht die Einstellung ideal für UI-Iterationsarbeit, wenn du visuelle Anpassungen machst und häufig neu startest. Wenn du einen bestimmten Bug mit Breakpoints untersuchen musst, aktiviere das Kontrollkästchen einfach vorübergehend wieder. Ich lasse es die meiste Zeit deaktiviert und schalte es nur ein, wenn ich Code Schritt für Schritt durchgehen muss.

War das hilfreich? Folge mir auf Bluesky und Mastodon für mehr Swift-Tipps und Indie-Dev-Updates.