Avatar ·

Ersatz von #ifdef in Swift: Bedingte Kompilierung und Build-Konfigurationen

Hallo zusammen! Ich habe gerade angefangen, Swift nach C++ zu lernen, und bin auf ein Problem gestoßen. In C++ habe ich oft die Präprozessor-Direktiven `#ifdef`, `#ifndef`, `#endif` für bedingte Kompilierung von Code verwendet – zum Beispiel, um Debug-Code nur im Debug-Build zu aktivieren oder verschiedene Plattformen zu unterstützen.\n\nIn Swift habe ich kein direktes Äquivalent zu `#ifdef` gefunden. Ich habe versucht, so etwas zu schreiben:\n\n```swift\n#ifdef DEBUG\nprint("Debug-Informationen")\n#endif\n```\n\nAber Xcode gibt einen Fehler aus. Ich habe die Dokumentation gelesen – dort gibt es `#if`, aber es funktioniert nicht so, wie ich es gewohnt bin. Zum Beispiel möchte ich:\n\n1. Zusätzliches Logging nur im Debug-Modus hinzufügen.\n2. Ganze Codeblöcke für iOS ausschließen, aber für macOS behalten.\n3. Test-Stubs in der Release-Build verstecken.\n\nWie organisiert man bedingte Kompilierung in Swift richtig?