R.swift para Swift: guia completo com exemplos práticos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

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:

  1. Abra seu projeto no Xcode.
  2. Vá em File > Add Packages....
  3. Cole a URL: https://github.com/mac-cain13/R.swift
  4. Escolha a versão (recomendamos a última estável) e clique em Add Package.
  5. 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:

  1. Vá em Build Phases do seu target.
  2. Clique em + e selecione New Run Script Phase.
  3. Arraste esta fase para que seja executada antes da fase Compile Sources.
  4. 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).

Recommendations