
Due anni fa pubblicavamo un articolo molto simile a questo, relativo però a CocoaPods “CocoaPods: gestire le dipendenze e gli aggiornamenti in Xcode in modo automatico” da allora CocoaPods ne ha fatta di strada e da un tool riservato ai più smaliziati è diventato lo strumento principale per integrare le millemila librerie opensource che github mette a disposizione. Qualcuno con ironia ha anche detto che non dovremmo più definirci “iOS developer” ma “cocoapods integrator” talmente è facile ormai mettere insieme un po’ di librerie e realizzare un’app.
Ma CocoaPods non piace proprio a tutti, e soprattutto non piaceva a chi ha pensato bene di realizzarne un’alternativa il cui scopo finale è sempre quello di gestire le dipendenze, ma lo fa nel modo quanto più distante possibile da CocoaPods.
CocoaPods ha un database centralizzato di tutti i progetti e le relative versioni che sono installabili tramite il loro tool (qui) e funziona creando un workspace dove il vostro progetto e le diverse librerie convivono più o meno pacificamente.
Carthage è l’esatto opposto. Non esiste un repository centrale e non modifica di una virgola la struttura del vostro progetto. Ma allora come funziona?
Carthage utilizza i Dynamic Frameworks per cui è possibile utilizzarlo soltanto se il vostro progetto supporta iOS8 e successivi. Niente iOS7, I’m sorry.
Per installare carthage la soluzione più semplice è quella di utilizzare homebrew, quindi basta digitare:
brew install carthage
Una volta installato, create un Cartfile nella root del vostro progetto. Il Cartfile non è altro che un semplice file di testo dove specifichiamo le nostre dipendenze. Il contenuto per esempio potrebbe essere questo:
github "Mantle/Mantle"
Se vi state chiedendo come fare a trovare i progetti compatibili con carthage, beh abbiamo detto che non è centralizzato quindi non esiste un elenco dei progetti disponibili, sarà l’autore della libreria/framework a dirvi se il suo progetto è o meno compatibile, per esempio esponendo questo badge:
Una volta creato il file con le dipendenze digitate il comando:
carthage bootstrap
per procedere alla compilazione dei framework. Il risultato visibile in console è questo (click per zoomare):
Ciò che è interessante è che il nostro progetto non è stato modificato di una virgola, infatti tutto il risultato della compilazione è uno o più framework compilati e presenti in una specifica folder del nostro progetto.
A questo punto non ci resta che trascinare il framework all’interno del nostro progetto Xcode (come si faceva una volta 😉 prima dell’esistenza di CocoaPods) e il gioco è fatto.
Assicuratevi che sia correttamente aggiunto anche nella sezione “Link Binary With Libraries”
Adesso potremo iniziare ad usare il framework senza chiederci se committare o meno la Pod folder o come gestire correttamente le configurazioni del progetto.
Alla prossima!
No Responses to “Gestire le dipendenze con Carthage”