Avatar ·

Remplacement de #ifdef en Swift : compilation conditionnelle et configurations de build

Bonjour à tous ! Je viens de commencer à apprendre Swift après le C++ et j'ai rencontré un problème. En C++, j'utilisais souvent les directives de préprocesseur `#ifdef`, `#ifndef`, `#endif` pour la compilation conditionnelle du code — par exemple, pour inclure du code de débogage uniquement dans la build Debug ou pour prendre en charge différentes plateformes.\n\nEn Swift, je n'ai pas trouvé d'équivalent direct à `#ifdef`. J'ai essayé d'écrire quelque chose comme :\n\n```swift\n#ifdef DEBUG\nprint("Informations de débogage")\n#endif\n```\n\nMais Xcode génère une erreur. J'ai lu la documentation — il y a `#if`, mais il ne fonctionne pas comme j'en avais l'habitude. Par exemple, je veux :\n\n1. Ajouter une journalisation supplémentaire uniquement en mode Debug.\n2. Exclure des blocs de code entiers pour iOS, mais les conserver pour macOS.\n3. Masquer les stubs de test dans la build release.\n\nComment organiser correctement la compilation conditionnelle en Swi