R.swift para Swift: guia completo com exemplos práticos
1. O que é e por que usar
R.swift é uma biblioteca poderosa para a linguagem Swift que fornece acesso type-safe (com segurança de tipos) aos recursos do seu aplicativo iOS/macOS/tvOS/watchOS. Em vez de usar strings literais para acessar imagens, fontes, cores, strings localizadas e outros recursos, o R.swift gera estruturas estritamente tipadas para eles. Isso significa que o compilador pode verificar a exatidão do nome do recurso em tempo de compilação, e não durante a execução do aplicativo.
Por que isso é necessário? No desenvolvimento padrão para Apple, você frequentemente escreve código como UIImage(named: "myImage") ou NSLocalizedString("hello_key", comment: ""). Se você digitar errado o nome do arquivo ou a chave de localização, o aplicativo só falhará em tempo de execução. O R.swift resolve esse problema de forma radical: após a geração do código, você acessa os recursos como propriedades das estruturas geradas. Por exemplo: R.image.myImage ou R.string.localizable.helloKey(). O compilador apontará imediatamente um recurso inexistente, e o Xcode oferecerá autocompletar.
Além disso, o R.swift processa automaticamente catálogos de ativos (Asset Catalogs), arquivos .strings, .storyboard, .xib, .json, .plist, fontes, cores e até arquivos de dados (Data). Isso torna o código mais limpo, seguro e acelera significativamente o desenvolvimento graças ao autocompletar no Xcode. A biblioteca é ativamente mantida pela comunidade e usada em milhares de projetos em todo o mundo.
2. Instalação
O R.swift é instalado via Swift Package Manager (SPM) ou CocoaPods. Recomendamos o SPM, pois é o padrão moderno para projetos Swift.
Instalação via Swift Package Manager (SPM)
Adicione o pacote ao seu projeto através do Xcode:
- Abra seu projeto no Xcode.
- Vá em File > Add Packages....
- Cole a URL:
https://github.com/mac-cain13/R.swift - Escolha a versão (recomendamos a última estável) e clique em Add Package.
- Certifique-se de que o pacote foi adicionado ao seu target principal.
Você também pode adicionar manualmente no Package.swift:
// swift-tools-version:5.7
import PackageDescription
let package = Package(
name: "YourProject",
dependencies: [
.package(url: "https://github.com/mac-cain13/R.swift", from: "7.0.0")
],
targets: [
.target(
name: "YourTarget",
dependencies: [
.product(name: "RswiftLibrary", package: "R.swift")
]
)
]
)
Instalação via CocoaPods
Se você usa CocoaPods, adicione no Podfile:
platform :ios, '13.0'
use_frameworks!
target 'YourApp' do
pod 'R.swift', '~> 7.0'
end
Depois execute o comando:
pod install
Configuração da Build Phase (obrigatório!)
Após a instalação, é necessário adicionar uma Run Script Phase nas Build Phases do seu target:
- Vá em Build Phases do seu target.
- Clique em + e selecione New Run Script Phase.
- Arraste esta fase para que seja executada antes da fase Compile Sources.
- No campo de script, cole:
"$PODS_ROOT/R.swift/rswift" generate "$SRCROOT/R.generated.swift"
Se você usa SPM, o script será assim:
"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/R.swift/rswift" generate "$SRCROOT/R.generated.swift"
Após a compilação do projeto, o arquivo R.generated.swift será gerado. Adicione-o ao seu projeto (não se esqueça de arrastá-lo para o navegador de projetos do Xcode).
Também na biblioteca
Configuração de aplicativos Swift: biblioteca SwiftyConfig
Configuração de aplicações Rust: bibliotecas config, envy e dotenvy
Programação Reativa em TypeScript: biblioteca RxJS
Geração de PDF em C++: visão geral de bibliotecas e ferramentas