Nachdem Sie in Ihren GCC_PREPROCESSOR_DEFINITIONS
Build-Einstellungen DEBUG=1
festgelegt haben, ziehe ich es vor, eine Funktion zu verwenden, um diese Aufrufe zu tätigen:
func executeInProduction(_ block: () -> Void)
{
#if !DEBUG
block()
#endif
}
Und dann einfach jeden Block in diese Funktion einschließen, den ich bei Debug-Builds auslassen möchte:
executeInProduction {
Fabric.with([Crashlytics.self]) // Der Compiler prüft diese Zeile auch im Debug-Modus
}
Der Vorteil im Vergleich zu:
#if !DEBUG
Fabric.with([Crashlytics.self]) // Dies wird nicht überprüft, kann in Nicht-Debug-Builds nicht kompilieren
#endif
besteht darin, dass der Compiler die Syntax meines Codes überprüft, sodass ich sicher bin, dass die Syntax korrekt ist und kompiliert wird.