O que é SwiftyConfig?
SwiftyConfig é uma biblioteca leve para gerenciar configurações de aplicativos iOS/macOS em Swift. Ela fornece uma interface conveniente para ler configurações de arquivos .plist, .json ou .yaml, além de suportar variáveis de ambiente. A biblioteca verifica automaticamente os tipos de dados, suporta estruturas aninhadas e permite definir valores padrão.
Para que serve o SwiftyConfig?
Durante o desenvolvimento de aplicativos, surge frequentemente a necessidade de armazenar configurações de ambiente (chaves de API, URLs de servidores, flags de funcionalidades) separadamente do código. O SwiftyConfig resolve esse problema oferecendo:
- Type safety — o compilador verifica os tipos das configurações em tempo de compilação.
- Flexibilidade — suporte a vários formatos de arquivo e fontes de dados.
- Simplicidade — mínimo de código para inicialização e acesso às configurações.
Instalação
Adicione ao Package.swift:
.package(url: "https://github.com/example/SwiftyConfig.git", from: "1.0.0")Ou via CocoaPods:
pod 'SwiftyConfig'Funcionalidades principais
- Descoberta automática de configurações — procura por arquivos
Config.plistno bundle. - Suporte a chaves aninhadas — acesso via notação de ponto:
config["server.host"]. - Getters tipados —
string(forKey:),int(forKey:),bool(forKey:)e outros. - Valores padrão — se a chave estiver ausente, retorna o valor especificado.
- Cache — leitura única do arquivo com cache subsequente em memória.
Exemplo de código
import SwiftyConfig
// Inicialização (carrega automaticamente o Config.plist)let config = try SwiftyConfig()
// Leitura de valoreslet apiKey: String = config.string(forKey: "api.key") ?? ""let maxRetries: Int = config.int(forKey: "network.maxRetries") ?? 3let isDebugMode: Bool = config.bool(forKey: "debug.enabled") ?? false
// Ou com notação de pontoif let host = config["server.host"] as? String { print("Server host: \\(host)")}
// Para macOS, pode-se adicionar suporte a variáveis de ambiente:let envConfig = SwiftyConfig(environment: ProcessInfo.processInfo.environment)print(envConfig.string(forKey: "DATABASE_URL") ?? "default")Quando usar SwiftyConfig?
A biblioteca é ideal para:
- Aplicativos multi-ambiente — dev/staging/prod com configurações diferentes.
- Feature toggles — ativar/desativar rapidamente funcionalidades sem recompilar.
- Builds para múltiplos targets — iOS, macOS, watchOS com configurações compartilhadas.
- Projetos open-source — onde é necessário ocultar chaves reais e movê-las para um arquivo separado.
SwiftyConfig é uma solução minimalista, porém poderosa, para configurar aplicativos Swift, que simplifica a manutenção e a escalabilidade do código.
Também na biblioteca
Geração Swagger/OpenAPI para Java: bibliotecas e ferramentas
Trabalho com XML em PHP: guia completo para análise e criação de documentos XML
vcpkg para C++: guia completo com exemplos práticos
Criptografia em Kotlin: criptografia e hash com exemplos
Trabalhando com Apache Kafka em C++: bibliotecas e exemplos