Middle
Kuidas hallata sõltuvusi iOS projektis?
sobes.tech AI
Vastus AI-lt
On mitmeid populaarseid viise:
-
CocoaPods:
- Dekentraliseeritud sõltuvuste haldur, mis on kirjutatud Ruby keeles.
- Kasutab
.podspecfaile sõltuvuse kirjelduseks. - Paigaldatakse käsuga
sudo gem install cocoapods. - Lisab Podfile projekti juuri.
- Käivitub
pod installsõltuvuste paigaldamiseks ja.xcworkspacetööruumi loomine.
-
Carthage:
- Dekentraliseeritud sõltuvuste haldur, mis koostab raamistikke.
- Kirjutatud Swiftis.
- eelistab binaarseid raamistikke.
- Paigaldatakse Homebrew kaudu
brew install carthage. - Kasutab Cartfile sõltuvuste kirjelduseks.
- Käivitub
carthage update --platform iOS. - Koostatud raamistikke lisatakse käsitsi Target > General > Frameworks, Libraries, and Embedded Content sektsiooni.
-
Swift Package Manager (SPM):
- Xcode sisseehitatud sõltuvuste haldur Swift jaoks.
- Keskne lähenemine, kasutades pakettide hoidlaid.
- Kasutab
Package.swiftsõltuvuste kirjelduseks. - Otse integreeritud Xcode'i.
- Sõltuvusi lisatakse File > Add Packages... või Project > Package Dependencies kaudu.
- Automaatne lahendus ja sõltuvuste allalaadimine.
Võrdlus:
| Omadus | CocoaPods | Carthage | Swift Package Manager (SPM) |
|---|---|---|---|
| Keel | Ruby | Swift | Swift |
| Paigaldamine | gem install |
brew install |
Sisseehitatud Xcode'i |
| Konfiguratsioonifailid | Podfile, .podspec |
Cartfile | Package.swift |
| Sõltuvuste tüüp | Algkood, binaarsed raamistikud | Eelistab binaarseid raamistikud | Algkood |
| Integreerimine Xcode'iga | Loob .xcworkspace |
Käsi lisab raamistikud | Sisseehitatud Xcode'i |
| Dekentraliseerimine | Jah | Jah | Jah |
| Keskne haldus | Ei | Ei | Jah (repositooriumite kaudu) |
Valik sõltub meeskonna eelistustest, sõltuvuste tüübist ja vajadusest tiheda integreerimise järele Xcode'iga. SPM muutub de facto standardiks, eriti uute Swift'i projektide puhul.