Sobes.tech
Middle

Kako upravljati zavisnostima u iOS projektu?

sobes.tech АИ

Одговор од АИ

Postoji nekoliko popularnih načina:

  1. CocoaPods:

    • Decentralizovani menadžer zavisnosti napisan u Ruby-ju.
    • Koristi .podspec fajlove za opis zavisnosti.
    • Instalira se komandom sudo gem install cocoapods.
    • Dodaje Podfile u korenski direktorijum projekta.
    • Pokreće se pod install za instalaciju zavisnosti i kreiranje radnog prostora .xcworkspace.
  2. Carthage:

    • Decentralizovani menadžer zavisnosti koji sastavlja framework-ove.
    • Napisan je u Swift-u.
    • Preferira binarne framework-ove.
    • Instalira se putem Homebrew brew install carthage.
    • Koristi Cartfile za opis zavisnosti.
    • Pokreće se carthage update --platform iOS.
    • Sastavljeni framework-ovi se ručno dodaju u Target > General > Frameworks, Libraries, and Embedded Content.
  3. Swift Package Manager (SPM):

    • Ugrađeni menadžer zavisnosti u Xcode za Swift.
    • Centralizovani pristup korišćenjem repozitorijuma paketa.
    • Koristi Package.swift za opis zavisnosti.
    • Direktno integrisan u Xcode.
    • Dodavanje zavisnosti putem File > Add Packages... ili Project > Package Dependencies.
    • Automatsko rešavanje i preuzimanje zavisnosti.

Poređenje:

Osobina CocoaPods Carthage Swift Package Manager (SPM)
Jezik Ruby Swift Swift
Instalacija gem install brew install Ugrađen u Xcode
Konfiguracioni fajlovi Podfile, .podspec Cartfile Package.swift
Tip zavisnosti Izvorni kod, binarni framework-ovi Preferirani binarni framework-ovi Izvorni kod
Integracija sa Xcode Kreira .xcworkspace Ručno dodavanje framework-ova Ugrađen u Xcode
Decentralizacija Da Da Da
Centralizacija Ne Ne Da (preko repozitorijuma)

Izbor zavisi od preferencija tima, tipa zavisnosti i potrebe za bliskom integracijom sa Xcode-om. SPM postaje de facto standard, posebno za nove projekte na Swift-u.