Sobes.tech
Middle

Hogyan kezeljük a függőségeket egy iOS projektben?

sobes.tech MI

Válasz az MI-től

Néhány népszerű módszer a következő:

  1. CocoaPods:

    • Decentralizált függőségkezelő, Ruby nyelven írva.
    • .podspec fájlokat használ a függőségek leírására.
    • A sudo gem install cocoapods parancs segítségével telepíthető.
    • Podfile-t ad hozzá a projekt gyökérkönyvtárához.
    • A függőségek telepítéséhez és a .xcworkspace munkaterület létrehozásához futtassa a pod install parancsot.
  2. Carthage:

    • Decentralizált függőségkezelő, amely framework-öket fordít.
    • Swift nyelven íródott.
    • Binaris framework-okat részesít előnyben.
    • A Homebrew segítségével telepíthető a brew install carthage parancs segítségével.
    • A függőségek leírására a Cartfile-t használja.
    • A carthage update --platform iOS parancsot futtassa.
    • A fordított framework-okat manuálisan adja hozzá a Target > General > Frameworks, Libraries, and Embedded Content szekcióhoz.
  3. Swift Package Manager (SPM):

    • Beépített függőségkezelő Xcode-ban a Swifthez.
    • Központosított megközelítés csomag-archívumok használatával.
    • A függőségek leírására a Package.swift fájlt használja.
    • Közvetlenül az Xcode-ba integrálva.
    • Függőségek hozzáadása a File > Add Packages... vagy a Project > Package Dependencies menüpontokon keresztül.
    • Automatikus függőség feloldás és letöltés.

Összehasonlítás:

Jellemző CocoaPods Carthage Swift Package Manager (SPM)
Nyelv Ruby Swift Swift
Telepítés gem install brew install Beépített az Xcode-ba
Konfigurációs fájlok Podfile, .podspec Cartfile Package.swift
Függőségtípus Forráskód, bináris framework-ök Binaris framework-okat részesít előnyben Forráskód
Xcode integráció Létrehoz .xcworkspace Manuálisan hozzáadott framework-ök Beépített az Xcode-ba
Decentralizáció Igen Igen Igen
Centralizáció Nem Nem Igen (tárolókon keresztül)

A választás a csapat preferenciáitól, a függőségek típusától és a Xcode-hoz való szoros integráció szükségességétől függ. A SPM de facto szabvány lett, különösen új Swift projektek esetén.