Avatar ·

Substituindo #ifdef em Swift: compilação condicional e configurações de build

Olá a todos! Comecei a estudar Swift recentemente, depois de C++, e me deparei com um problema. Em C++, eu usava frequentemente as diretivas de pré-processador `#ifdef`, `#ifndef`, `#endif` para compilação condicional de código — por exemplo, para incluir código de depuração apenas na build Debug ou suportar diferentes plataformas.\n\nEm Swift, não encontrei um análogo direto do `#ifdef`. Tentei escrever algo como:\n\n```swift\n#ifdef DEBUG\nprint("Informação de depuração")\n#endif\n```\n\nMas o Xcode gera um erro. Li a documentação — existe `#if`, mas ele não funciona como estou acostumado. Por exemplo, quero:\n\n1. Adicionar logging extra apenas no modo Debug.\n2. Excluir blocos inteiros de código para iOS, mas mantê-los para macOS.\n3. Ocultar stubs de teste na build de release.\n\nComo organizar corretamente a compilação condicional em Swift? Existe uma maneira de definir minhas próprias flags, como `#define MY_FLAG`? Agradeço exemplos com explicação.\n<<>>\n

Compilação condicional em Swift: #if e flags de compilação

\n

Em Swift não