Eficientizarea dezvoltării cacaoilor cu cacao

CocoaPods este un instrument de gestionare a dependenței ușor de utilizat pentru dezvoltarea iOS și OS X. Chiar dacă CocoaPods este destul de clară și simplu de folosit, consider că mulți dezvoltatori de cacao sunt reticenți în a încerca. În acest tutorial, vă voi arăta cum să începeți cu CocoaPods în mai puțin de cinci minute.


Ce este CocoaPods?

CocoaPods este un instrument de gestionare a dependenței pentru dezvoltarea iOS și OS X. Aceasta face administrarea bibliotecilor terțe părți într-un proiect Xcode ușor și direct. CocoaPods a câștigat o tracțiune considerabilă în comunitatea de cacao și, ca urmare, sute de biblioteci open source oferă acum suport pentru CocoaPods. Pentru a obține o idee despre ce biblioteci sunt disponibile prin intermediul CocoaPods, vizitați site-ul CocoaPods și căutați câteva din bibliotecile dvs. terțe preferate. Companiile precum TestFlight, Mixpanel și Google fac disponibile bibliotecile prin intermediul CocoaPods.


De ce să folosesc cocoafe??

Lucrul cu bibliotecile terților într-un proiect Xcode nu este întotdeauna ușor și poate fi adesea o durere, mai ales atunci când se integrează biblioteci non-ARC într-un proiect cu ARC. Eloy Durán a demarat proiectul CocoaPods pentru a ușura această durere. Înainte de a trece la CocoaPods, am făcut ceea ce face majoritatea dezvoltatorilor; acestea copiază manual fișierele sursă ale unor biblioteci terțe părți într-un proiect Xcode și compilează aceste fișiere cu restul proiectului. Chiar dacă această metodă a funcționat bine, actualizarea dependențelor unui proiect a fost un proces greoi și eronat.

CocoaPods face gestionarea dependențelor unui proiect mult mai ușor și mai intuitiv. Trebuie doar să specificați care sunt dependențele sau păturile pe care doriți să le includeți în proiect, iar CocoaPods are grijă de restul. Actualizarea unui pod la o nouă versiune este la fel de simplă ca executarea unei singure comenzi pe linia de comandă. Dacă ați evitat linia de comandă în trecut, acum ar fi un moment bun să vă familiarizați cu aceasta.


1. Instalarea CocoaPods

O altă trăsătură extraordinară a CocoaPods este aceea că este distribuită ca o bijuterie Ruby. Acest lucru face ca instalarea CocoaPods practic fără durere. Pentru a instala gemul CocoaPods, sistemul dvs. trebuie să aibă Ruby și RubyGems instalate. Nu te teme de faptul ca Ruby si RubyGems sunt probabil deja instalate pe calculatorul tau.

Deschideți o nouă fereastră Terminal și tastați gem -v pentru a determina dacă RubyGems este instalat pe sistemul dvs. Dacă aveți nevoie de ajutor pentru a instala Ruby sau RubyGems, Andrew Burgess a scris un tutorial excelent despre RubyGems pe Nettuts +. În cazul în care întâmpinați probleme la instalarea CocoaPods, este posibil ca articolul lui Andrew să aibă soluția la problema dvs..

Înainte de a instala CocoaPods, asigurați-vă că actualizați RubyGems executând următoarea comandă pe linia de comandă:

 gem update - sistem

În funcție de configurația sistemului dvs., poate fi necesar să prefixați această comandă cu sudo.

Dacă doriți să citiți mai multe despre Ruby și Rubygems, Jeffrey Way a scris un articol frumos despre Ruby on Net Tuts +. Tutorialul lui Andrew Burgess, pe care l-am mentionat mai devreme, face parte dintr-o serie in profunzime numita Ruby for Newbies. Este cu siguranta merita verificat.

Instalarea CocoaPods este ușor de îndată ce sunt instalate Ruby și RubyGems. Doar rulați următoarele:

 gem instala cocoapods

Odată instalat, configurați CocoaPods executând configurare pod comanda. În timpul procesului de configurare, mediul CocoaPods este format și a .cocoapods directorul este creat în dosarul dvs. de domiciliu. Acest dosar ascuns conține toate specificațiile pentru pod sau spec.


2. Începând cu CocoaPods

Pasul 1

În loc să explicați cum funcționează CocoaPods, este mult mai ușor să vă arătați prin crearea unui proiect simplu Xcode utilizând CocoaPods. Deschideți Xcode și creați un nou proiect bazat pe Cerere goală șablon. Denumiți proiectul CocoaPods și asigurați-vă că ați activat ARC (Counting Automatic Counting) pentru proiect (figura 1).

figura 1

Pasul 2

Acum că am creat proiectul, trebuie să adăugăm un Podfile. Un Podfile este similar cu un Gemfile. Este un fișier text care conține informații despre proiect și include și dependențele proiectului, adică bibliotecile gestionate de CocoaPods. Închideți proiectul Xcode și deschideți o nouă fereastră Terminal. Căutați în rădăcina proiectului dvs. Xcode și creați un nou Podfile executând atingeți Podfile în Terminal. atingere comanda actualizează modificată data unui fișier, dar creează fișierul pentru dvs. dacă nu există, exact ceea ce ne dorim. Asigurați-vă că ați creat Podfile-ul în rădăcina proiectului dvs. Xcode.

 atingeți Podfile

Pasul 3

Deschideți Podfile-ul în editorul dvs. de text preferat. La momentul redactării acestui tutorial, versiunea curentă a CocoaPods este de 0,16. În această versiune este necesar să specificați platforma, iOS sau OS X. Aceasta nu va mai fi necesară în următoarea versiune de CocoaPods (0.17). În acest exemplu, îi spunem CocoaPods că vrem să vizăm platforma iOS așa cum se arată mai jos. Este posibilă specificarea destinației de implementare a proiectului, dar acest lucru este opțional. Tinta de implementare implicita este 4.3 pentru iOS și 10.6 pentru OS X.

 platformă: ios, '6.0'

Pasul 4

Cu platforma specificată, este timpul să creați lista dependențelor pentru proiect. O dependență constă în cuvântul cheie păstaie urmată de numele dependenței sau de pod. Un pod este la fel ca o bijuterie, o dependență sau o bibliotecă pe care doriți să o includeți într-un proiect sau o aplicație. Puteți specifica opțional versiunea dependenței, după cum se arată mai jos.

 pod 'SVProgressHUD', '0,9'

Prin omiterea numărului versiunii unui pod, CocoaPods va utiliza cea mai recentă versiune disponibilă (ceea ce doriți mai mult timp). De asemenea, puteți prefixa numărul versiunii cu un specificator pentru a da CocoaPods mai mult control asupra versiunii pe care o utilizați. Specificatorii sunt în mare parte autodeclaratori (>, > =, <, <=), dar un specificator, ~>, ar putea părea ciudat dacă nu sunteți familiarizat cu RubyGems. Voi explica ce ~> înseamnă în exemplul prezentat mai jos. Specificația de mai jos indică faptul că versiunea arhivei AFNetworking ar trebui să se afle între 1.0.1 și 1.1 cu excepția celor din urmă. Acest lucru este foarte util dacă doriți să oferiți CocoaPods posibilitatea de a actualiza dependențele unui proiect atunci când sunt disponibile versiuni minore (remedierile de eroare), dar exclude lansările majore care pot include modificări API care ar putea sparge ceva în proiect.

 pod 'AFNetworking', '~> 1.0.1'

O declarație de dependență are mai multe opțiuni de configurare, care pot fi setate în Podfile. Dacă doriți să lucrați cu versiunea de sângerare a unei biblioteci, de exemplu, puteți înlocui numărul de versiune al unui pod :cap așa cum se arată mai jos. Puteți să-i spuneți chiar CocoaPods ce sursă să utilizeze specificând depozitul git sau referindu-l pe CocoaPods la o copie locală a bibliotecii. Acestea sunt caracteristici mai avansate ale CocoaPods.

 pod 'AFNetworking',: head pod 'SVProgressHUD',: git => 'https://github.com/samvermette/SVProgressHUD' pod 'ViewDeck',: local => '

Pasul 5

Cu lista de dependențe specificată, este timpul să continuăm procesul de configurare. Actualizați Podfile după cum se arată mai jos și executați pod instalare în Terminal. Asigurați-vă că rulați această comandă în rădăcina proiectului Xcode unde ați creat, de asemenea, Podfile-ul proiectului.

 platforma: ios, '6.0' pod 'ViewDeck', '~> 2.2.2' pod 'AFNetworking', '~> > 3.0.0 '
 pod instalare

CocoaPods inspectează lista dependențelor și instalează fiecare dependență așa cum este specificat în Podfile-ul proiectului. Ieșirea din linia de comandă vă arată ce faceți CocoaPods sub capotă. Ultimele două linii sunt deosebit de interesante pentru noi; CocoaPods creează un spațiu de lucru Xcode și adaugă proiectul nostru la spațiul de lucru respectiv. Creează, de asemenea, un nou proiect numit pods, adaugă dependențele listate la acel proiect și leagă static cu o bibliotecă. Proiectul nou creat Pods este adăugat, de asemenea, aceluiași spațiu de lucru (figura 2).

 Rezolvarea dependențelor de./ Podfile 'Actualizări repositories spec Cocoapods 0.17.0.rc7 este disponibil. Rezolvarea dependențelor pentru țintăimplicit "(iOS 6.0) Descărcarea dependențelor Instalarea interfeței AFNetworking (1.1.0) Instalarea programului HockeySDK (3.0.0) Instalarea programului SVProgressHUD (0.9) Instalarea programului ViewDeck 2.2.5 Generarea fișierelor de suport 2013-03-28 11: 13: 54.663 xcodebuild [1352 : 1207] XcodeColors: load (v10.1) 2013-03-28 11: 13: 54.665 xcodebuild [1352: 1207] XcodeColors: pluginDidLoad: [!] De acum încoloCocoaPods.xcworkspace“. integrarealibPods.a "în țintăCocoaPods "a proiectului Xcode./CocoaPods.xcodeproj“.
Figura 2

Când rulați pod instalare comanda, CocoaPods ne spune că ar trebui să folosim CocoaPods.xcworkspace de-acum inainte. Spațiile de lucru Xcode sunt o componentă cheie a modului în care funcționează CocoaPods. Un spațiu de lucru Xcode este un container care grupează unul sau mai multe proiecte Xcode, ceea ce face mai ușor lucrul cu mai multe proiecte. După cum am văzut mai devreme, CocoaPods creează un nou proiect pentru dvs., numit pods, și adaugă automat acest proiect într-un nou spațiu de lucru Xcode. Proiectul cu care am pornit este, de asemenea, adăugat în acest spațiu de lucru. Avantajul cheie este că codul și dependențele proiectului sunt strict separate. Dependențele din proiectul Pods sunt legate în mod static cu o bibliotecă pe care o puteți vedea în Construiți faze din proiectul nostru (figura 3). Este important să vă amintiți să utilizați spațiul de lucru creat de CocoaPods în locul proiectului cu care am început. Proiectul nostru este acum pregătit pentru noi și putem începe să folosim bibliotecile specificate în proiectul Podfile.

Figura 3

3. Actualizarea dependențelor

Este evident că CocoaPods facilitează crearea rapidă a unui proiect cu mai multe dependențe. Cu toate acestea, actualizarea dependențelor devine și mai ușoară. Dacă una dintre dependențele proiectului dvs. a primit o actualizare majoră și doriți să utilizați această actualizare în proiectul dvs., atunci tot ce trebuie să faceți este să actualizați Podfile-ul proiectului și să executați actualizare pod pe linia de comandă. CocoaPods va actualiza dependențele proiectului dvs. pentru dvs..


4. Linia de comandă

Gemul CocoaPods are mult mai multe trucuri în mânecă. Chiar dacă puteți utiliza site-ul CocoaPods pentru a căuta lista de păstăi disponibile, bijuteria CocoaPods vă permite, de asemenea, să listați (listă) și căutarea (căutare) specificațiile de date disponibile. Deschideți o nouă fereastră Terminal și introduceți comanda pod de căutare progres pentru a căuta biblioteci care includ cuvântul progres. Avantajul căutării de păstăi folosind linia de comandă constă în faptul că vedeți numai informațiile care vă interesează, cum ar fi sursa podului și versiunile disponibile.

Pornește păstaie (fără opțiuni) pentru a vedea o listă completă a opțiunilor disponibile. Manualul CocoaPods este excelent, deci asigurați-vă că îl citiți dacă întâmpinați probleme sau aveți întrebări.


Concluzie

Ar trebui să aveți acum o înțelegere de bază a CocoaPods, astfel încât să puteți utiliza CocoaPods în dezvoltarea dumneavoastră. Odată ce începeți să utilizați CocoaPods, este posibil să nu puteți trăi fără ea. Chiar dacă am auzit de CocoaPods de multe ori, mi-a luat ceva timp pentru a face tranziția. Cu toate acestea, odată ce am început să folosesc CocoaPods, nu am creat un singur proiect fără ea. Sunt sigur că vă va plăcea odată ce ați încercat. Nu numai că vă va economisi timp, ci și vă va face viața ca dezvoltator un pic mai ușor.

Cod