Avant Swift, je définirais un ensemble de schémas pour les versions alpha, bêta et de distribution. Chacun de ces schémas aurait un ensemble de macros qui ont été définies pour contrôler certains comportements au niveau du projet. L'exemple le plus simple est la macro DEBUG = 1 qui est définie par défaut pour tous les projets Xcode dans le schéma par défaut pour la génération Exécuter. On pourrait interroger #ifdef DEBUG ... et prendre des décisions dans le code en conséquence, même en compilant du code non nécessaire.
Il semble que ce type de gating configurationnel ne soit pas aussi simple avec swift, car les macros ne sont pas prises en charge. Quelqu'un peut-il suggérer une approche comparable, je m'en fiche si le code est compilé, en soi. Je voudrais cependant attribuer des fonctionnalités basées sur le schéma de construction.