Sobes.tech
Middle

Como gerir dependências num projeto iOS?

sobes.tech IA

Resposta da IA

Existem várias formas populares:

  1. CocoaPods:

    • Gestor de dependências descentralizado, escrito em Ruby.
    • Utiliza ficheiros .podspec para descrever dependências.
    • Instala-se com o comando sudo gem install cocoapods.
    • Adiciona um Podfile na raiz do projeto.
    • Executa pod install para instalar dependências e criar o espaço de trabalho .xcworkspace.
  2. Carthage:

    • Gestor de dependências descentralizado que compila frameworks.
    • Escrito em Swift.
    • Prefere frameworks binários.
    • Instala-se via Homebrew com brew install carthage.
    • Utiliza Cartfile para descrever dependências.
    • Executa carthage update --platform iOS.
    • Os frameworks compilados são adicionados manualmente em Target > General > Frameworks, Libraries, and Embedded Content.
  3. Swift Package Manager (SPM):

    • Gestor de dependências integrado no Xcode para Swift.
    • Abordagem centralizada usando repositórios de pacotes.
    • Utiliza Package.swift para descrever dependências.
    • Está integrado diretamente no Xcode.
    • Adiciona dependências através de File > Add Packages... ou Project > Package Dependencies.
    • Resolução e download automáticos de dependências.

Comparação:

Característica CocoaPods Carthage Swift Package Manager (SPM)
Linguagem Ruby Swift Swift
Instalação gem install brew install Integrado no Xcode
Ficheiros de configuração Podfile, .podspec Cartfile Package.swift
Tipo de dependências Código fonte, frameworks binários Prefere frameworks binários Código fonte
Integração com Xcode Cria .xcworkspace Adição manual de frameworks Integrado no Xcode
Descentralização Sim Sim Sim
Centralização Não Não Sim (através de repositórios)

A escolha depende das preferências da equipa, do tipo de dependências e da necessidade de uma integração estreita com o Xcode. O SPM está a tornar-se o padrão de facto, especialmente para novos projetos em Swift.