Przed swiftem zdefiniowałbym zestaw schematów dla wersji alfa, beta i dystrybucji. Każdy z tych schematów miałby zestaw makr, które zostały zdefiniowane w celu bramkowania określonych zachowań na poziomie projektu. Najprostszym przykładem jest makro DEBUG = 1, które jest zdefiniowane domyślnie dla wszystkich projektów Xcode w domyślnym schemacie dla kompilacji Uruchom. Można zapytać #ifdef DEBUG ... i odpowiednio podjąć decyzje w kodzie, nawet kompilując niepotrzebny kod.
Wydaje się, że ten typ bramkowania konfiguracyjnego nie jest tak łatwy w użyciu, jak szybkie, ponieważ makra nie są obsługiwane. Czy ktoś może zaproponować podobne podejście, nie obchodzi mnie, czy kod jest kompilowany jako taki. Chciałbym jednak bramkować funkcje w oparciu o schemat kompilacji.