Middle
Jak spravovat závislosti v projektu iOS?
sobes.tech AI
Odpověď od AI
Existuje několik populárních způsobů:
-
CocoaPods:
- Decentralizovaný správce závislostí napsaný v Ruby.
- Používá
.podspecsoubory k popisu závislosti. - Instaluje se příkazem
sudo gem install cocoapods. - Přidává Podfile do kořenového adresáře projektu.
- Spouští se
pod installpro instalaci závislostí a vytvoření pracovního prostoru.xcworkspace.
-
Carthage:
- Decentralizovaný správce závislostí, který sestavuje frameworky.
- Napsaný v Swift.
- Preferuje binární frameworky.
- Instaluje se přes Homebrew
brew install carthage. - Používá Cartfile k popisu závislostí.
- Spouští se
carthage update --platform iOS. - Sestavené frameworky se ručně přidávají do Target > General > Frameworks, Libraries, and Embedded Content.
-
Swift Package Manager (SPM):
- Vestavěný správce závislostí v Xcode pro Swift.
- Centralizovaný přístup s použitím repozitářů balíčků.
- Používá
Package.swiftk popisu závislostí. - Přímo integrovaný do Xcode.
- Přidání závislostí přes File > Add Packages... nebo Project > Package Dependencies.
- Automatické řešení a stahování závislostí.
Porovnání:
| Funkce | CocoaPods | Carthage | Swift Package Manager (SPM) |
|---|---|---|---|
| Jazyk | Ruby | Swift | Swift |
| Instalace | gem install |
brew install |
Vestavěno v Xcode |
| Konfigurační soubory | Podfile, .podspec |
Cartfile | Package.swift |
| Typ závislostí | Zdrojový kód, binární frameworky | Preferované binární frameworky | Zdrojový kód |
| Integrace s Xcode | Vytváří .xcworkspace |
Ruční přidání frameworků | Vestavěno v Xcode |
| Decentralizace | Ano | Ano | Ano |
| Centralizace | Ne | Ne | Ano (přes repozitáře) |
Volba závisí na preferencích týmu, typu závislostí a potřebě úzké integrace s Xcode. SPM se stává de facto standardem, zejména pro nové projekty na Swift.