CocoaPods ist ein benutzerfreundliches Tool zur Verwaltung von Abhängigkeiten für die Entwicklung von iOS und OS X. Obwohl CocoaPods ziemlich klar und einfach zu bedienen ist, glaube ich, dass viele Entwickler von Kakao nur ungern versuchen, es auszuprobieren. In diesem Tutorial zeige ich Ihnen, wie Sie mit CocoaPods in weniger als fünf Minuten loslegen können.
CocoaPods ist ein Tool zur Verwaltung von Abhängigkeiten für die Entwicklung von iOS und OS X. Dadurch wird die Verwaltung von Bibliotheken von Drittanbietern in einem Xcode-Projekt einfach und unkompliziert. CocoaPods hat sich in der Kakaogemeinschaft beträchtlich durchgesetzt, und Hunderte von Open-Source-Bibliotheken unterstützen jetzt CocoaPods. Um einen Überblick darüber zu erhalten, welche Bibliotheken über CocoaPods verfügbar sind, besuchen Sie die CocoaPods-Website und suchen Sie nach Ihren bevorzugten Drittanbieter-Bibliotheken. Unternehmen wie TestFlight, Mixpanel und Google stellen ihre Bibliotheken über CocoaPods zur Verfügung.
Das Arbeiten mit Bibliotheken von Drittanbietern in einem Xcode-Projekt ist nicht immer einfach und kann besonders bei der Integration von Nicht-ARC-Bibliotheken in ein ARC-fähiges Projekt oft sehr schwierig sein. Eloy Durán startete das CocoaPods-Projekt, um diesen Schmerz zu lindern. Bevor ich zu CocoaPods wechselte, habe ich das gemacht, was die meisten Entwickler tun. Sie kopieren die Quelldateien von Drittanbieter-Bibliotheken manuell in ein Xcode-Projekt und kompilieren diese Dateien mit dem Rest des Projekts. Obwohl diese Methode gut funktioniert hat, war die Aktualisierung der Abhängigkeiten eines Projekts ein umständlicher und fehleranfälliger Prozess.
CocoaPods macht die Verwaltung der Abhängigkeiten eines Projekts einfacher und intuitiver. Sie müssen nur angeben, welche Abhängigkeiten oder Pods Sie in Ihr Projekt aufnehmen möchten, und CocoaPods kümmert sich um den Rest. Das Aktualisieren eines Pods auf eine neue Version ist so einfach wie das Ausführen eines einzelnen Befehls in der Befehlszeile. Wenn Sie die Befehlszeile in der Vergangenheit vermieden haben, sollten Sie sich jetzt mit der Befehlszeile vertraut machen.
Ein weiteres großartiges Feature von CocoaPods ist, dass es als Ruby-Edelstein vertrieben wird. Dies macht die Installation von CocoaPods nahezu schmerzfrei. Um den CocoaPods-Edelstein zu installieren, müssen auf Ihrem System Ruby und RubyGems installiert sein. Fürchten Sie sich nicht, weil Ruby und RubyGems wahrscheinlich bereits auf Ihrem Computer installiert sind.
Öffnen Sie ein neues Terminalfenster und geben Sie ein gem -v
um festzustellen, ob RubyGems auf Ihrem System installiert ist. Wenn Sie Hilfe bei der Installation von Ruby oder RubyGems benötigen, hat Andrew Burgess ein großartiges Tutorial über RubyGems auf Nettuts + geschrieben. Falls Sie Probleme bei der Installation von CocoaPods haben, besteht die Möglichkeit, dass der Artikel von Andrew die Lösung für Ihr Problem hat.
Vergewissern Sie sich vor der Installation von CocoaPods, dass Sie RubyGems aktualisieren, indem Sie den folgenden Befehl in der Befehlszeile ausführen:
gem update - system
Abhängig von Ihrer Systemkonfiguration kann es erforderlich sein, diesen Befehl mit einem vorangestellten Befehl zu versehen Sudo
.
Wenn Sie mehr über Ruby und Rubygems erfahren möchten, hat Jeffrey Way einen schönen Artikel über Ruby auf Net Tuts + geschrieben. Das Tutorial von Andrew Burgess, das ich bereits erwähnt habe, ist Teil einer umfassenden Serie namens Ruby for Newbies. Es lohnt sich auf jeden Fall.
Die Installation von CocoaPods ist einfach, sobald Ruby und RubyGems installiert sind. Führen Sie einfach folgendes aus:
gem Kokosapoden installieren
Nach der Installation richten Sie CocoaPods ein, indem Sie die Pod-Setup
Befehl. Während des Installationsvorgangs wird die CocoaPods-Umgebung gebildet und a .Kokosapoden
Das Verzeichnis wird in Ihrem Heimatordner erstellt. Dieser versteckte Ordner enthält alle verfügbaren Podspezifikationen oder Podspezifikationen.
Anstatt zu erklären, wie CocoaPods funktioniert, ist es viel einfacher, Sie durch Erstellen eines einfachen Xcode-Projekts mit CocoaPods zu zeigen. Öffnen Sie Xcode und erstellen Sie ein neues Projekt auf der Basis von Leere Anwendung Vorlage. Nennen Sie das Projekt Kakaopods Stellen Sie sicher, dass die automatische Referenzzählung (ARC) für das Projekt aktiviert ist (Abbildung 1)..
Abbildung 1Nachdem wir das Projekt erstellt haben, müssen wir eine Pod-Datei hinzufügen. Ein Podfile ähnelt einem Gemfile. Es handelt sich um eine Textdatei, die Informationen zum Projekt enthält. Sie enthält auch die Abhängigkeiten des Projekts, d. H. Die von CocoaPods verwalteten Bibliotheken. Schließen Sie das Xcode-Projekt und öffnen Sie ein neues Terminalfenster. Navigieren Sie zum Stammverzeichnis Ihres Xcode-Projekts und erstellen Sie eine neue Pod-Datei, indem Sie sie ausführen Tippen Sie auf Poddatei
im Terminal. Das berühren
Befehl aktualisiert die geändert Datum einer Datei, erstellt jedoch die Datei für Sie, wenn diese nicht vorhanden ist. Genau das möchten wir. Stellen Sie sicher, dass Sie die Pod-Datei im Stammverzeichnis Ihres Xcode-Projekts erstellen.
Tippen Sie auf Poddatei
Öffnen Sie die Pod-Datei in Ihrem bevorzugten Texteditor. Zum Zeitpunkt der Erstellung dieses Tutorials ist die aktuelle Version von CocoaPods 0.16. In dieser Version muss die Plattform, iOS oder OS X, angegeben werden. Dies ist in der nächsten Version von CocoaPods (0,17) nicht mehr erforderlich. In diesem Beispiel teilen wir CocoaPods mit, dass wir die iOS-Plattform wie unten gezeigt anvisieren. Es ist möglich, das Implementierungsziel des Projekts anzugeben. Dies ist jedoch optional. Das Standardimplementierungsziel lautet 4.3 für iOS und 10.6 für OS X.
Plattform: IOS, '6.0'
Wenn die Plattform angegeben ist, müssen Sie die Liste der Abhängigkeiten für das Projekt erstellen. Eine Abhängigkeit besteht aus dem Schlüsselwort pod
gefolgt vom Namen der Abhängigkeit oder des Pods. Ein Pod ist wie ein Edelstein, eine Abhängigkeit oder Bibliothek, die Sie in ein Projekt oder eine Anwendung aufnehmen möchten. Sie können optional die Version der Abhängigkeit wie unten angegeben angeben.
pod 'SVProgressHUD', '0,9'
Wenn Sie die Versionsnummer eines Pods weglassen, verwendet CocoaPods die aktuellste verfügbare Version (dies ist das, was Sie die meiste Zeit wünschen). Sie können der Versionsnummer auch einen Bezeichner voranstellen, um CocoaPods besser steuern zu können, welche Version verwendet werden soll. Die Spezifizierer sind meist selbsterklärend (>, > =
, <
, <=
), aber ein spezifizierer, ~>
, Wenn Sie sich mit RubyGems nicht auskennen, kann es merkwürdig erscheinen. Ich erkläre was ~>
bedeutet in dem unten gezeigten Beispiel. Die unten gezeigte Pod-Spezifikation gibt an, dass die Version der AFNetworking-Bibliothek zwischen sein sollte 1.0.1
und 1.1
aber letztere ausgenommen. Dies ist sehr nützlich, wenn Sie CocoaPods die Möglichkeit geben möchten, die Abhängigkeiten eines Projekts zu aktualisieren, wenn Minor-Releases (Bugfixes) verfügbar sind, jedoch Major Releases auszuschließen, die API-Änderungen enthalten können, die möglicherweise etwas in Ihrem Projekt beeinträchtigen.
pod 'AFNetworking', '~> 1.0.1'
Eine Abhängigkeitsdeklaration enthält viele weitere Konfigurationsoptionen, die in der Pod-Datei festgelegt werden können. Wenn Sie beispielsweise mit der blutenden Kantenversion einer Bibliothek arbeiten möchten, können Sie die Versionsnummer eines Pods durch ersetzen :Kopf
Wie nachfolgend dargestellt. Sie können sogar CocoaPods angeben, welche Quelle verwendet werden soll, indem Sie das Git-Repository angeben oder CocoaPods auf eine lokale Kopie der Bibliothek verweisen. Dies sind erweiterte Funktionen von CocoaPods.
pod 'AFNetworking',: head pod 'SVProgressHUD',: git => 'https://github.com/samvermette/SVProgressHUD' pod 'ViewDeck',: local => '~ / Development / Library / ViewDeck'
Wenn unsere Liste der Abhängigkeiten angegeben ist, ist es an der Zeit, den Einrichtungsprozess fortzusetzen. Aktualisieren Sie die Pod-Datei wie unten gezeigt und führen Sie sie aus pod installieren
im Terminal. Stellen Sie sicher, dass Sie diesen Befehl im Stammverzeichnis Ihres Xcode-Projekts ausführen, in dem Sie auch die Pod-Datei des Projekts erstellt haben.
Plattform: ios, '6.0' Pod 'ViewDeck', '~> 2.2.2' Pod 'AFNetworking', '~> 1.1.0' Pod 'SVProgressHUD', '~> 0.9.0' Pod 'HockeySDK', '~ > 3.0.0 '
pod installieren
CocoaPods überprüft die Liste der Abhängigkeiten und installiert jede Abhängigkeit, wie in der Pod-Datei des Projekts angegeben. Die Ausgabe in der Befehlszeile zeigt Ihnen, was CocoaPods unter der Haube tut. Die letzten beiden Zeilen sind für uns besonders interessant; CocoaPods erstellt einen Xcode-Arbeitsbereich und fügt unser Projekt diesem Arbeitsbereich hinzu. Es wird auch ein neues Projekt mit dem Namen erstellt Schoten, fügt die aufgelisteten Abhängigkeiten zu diesem Projekt hinzu und verknüpft diese statisch mit einer Bibliothek. Das neu erstellte Pod-Projekt wird auch demselben Arbeitsbereich hinzugefügt (Abbildung 2)..
Abhängigkeiten von./ Podfile 'Spezifikations-Repositories aktualisieren Cocoapods 0.17.0.rc7 ist verfügbar. Abhängigkeiten für das Ziel auflösendefault '(iOS 6.0) Abhängigkeiten herunterladen AFNetworking installieren (1.1.0) HockeySDK installieren (3.0.0) SVProgressHUD installieren (0.9) ViewDeck installieren (2.2.5) Unterstützungsdateien generieren 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: [!] Ab sofort einsatzbereitCocoaPods.xcworkspace '. IntegrierenlibPods.a 'ins ZielCocoaPods 'des Xcode-Projekts./CocoaPods.xcodeproj '.
Figur 2 Wenn Sie das ausführen pod installieren
Kommando, sagt CocoaPods, dass wir die verwenden sollen CocoaPods.xcworkspace
von jetzt an. Xcode-Arbeitsbereiche sind eine Schlüsselkomponente für die Funktionsweise von CocoaPods. Ein Xcode-Arbeitsbereich ist ein Container, der ein oder mehrere Xcode-Projekte gruppiert, wodurch die Arbeit mit mehreren Projekten vereinfacht wird. Wie wir bereits gesehen haben, erstellt CocoaPods ein neues Projekt mit dem Namen Schoten
, und es fügt dieses Projekt automatisch einem neuen Xcode-Arbeitsbereich hinzu. Das Projekt, mit dem wir begonnen haben, wird auch diesem Arbeitsbereich hinzugefügt. Der entscheidende Vorteil ist, dass Ihr Code und die Abhängigkeiten des Projekts streng voneinander getrennt sind. Die Abhängigkeiten im Pods-Projekt sind statisch mit einer Bibliothek verknüpft, die Sie im sehen können Baue Phasen Registerkarte unseres Projekts (Abbildung 3). Denken Sie daran, den von CocoaPods erstellten Arbeitsbereich anstelle des Projekts zu verwenden, mit dem wir begonnen haben. Unser Projekt ist jetzt für uns bereit und wir können die Bibliotheken verwenden, die im Podfile des Projekts angegeben sind.
Es ist offensichtlich, dass CocoaPods es einfacher macht, ein Projekt mit mehreren Abhängigkeiten schnell einzurichten. Das Aktualisieren von Abhängigkeiten wird jedoch auch einfacher. Wenn eine der Abhängigkeiten Ihres Projekts ein größeres Update erhalten hat und Sie dieses Update in Ihrem Projekt verwenden möchten, müssen Sie lediglich die Pod-Datei Ihres Projekts aktualisieren und ausführen Pod-Update
in der Befehlszeile. CocoaPods aktualisiert die Abhängigkeiten Ihres Projekts für Sie.
Der CocoaPods-Edelstein hat viele weitere Tricks im Ärmel. Obwohl Sie die CocoaPods-Website zum Durchsuchen der Liste der verfügbaren Pods verwenden können, können Sie mit dem CocoaPods-Edelstein auch eine Liste erstellen (Liste
) und suchen (Suche
) die verfügbaren Pod-Spezifikationen. Öffnen Sie ein neues Terminalfenster und geben Sie den Befehl ein Pod-Suchfortschritt
um nach Bibliotheken zu suchen, die das Wort enthalten Fortschritt. Die Suche nach Pods über die Befehlszeile bietet den Vorteil, dass nur die Informationen angezeigt werden, die für Sie von Bedeutung sind, z. B. die Quelle des Pods und die verfügbaren Versionen.
Führen Sie das aus pod
Befehl (ohne Optionen), um eine vollständige Liste der verfügbaren Optionen anzuzeigen. Das CocoaPods-Handbuch ist hervorragend. Lesen Sie es daher, wenn Sie Probleme haben oder Fragen haben.
Sie sollten jetzt ein grundlegendes Verständnis von CocoaPods besitzen, damit Sie CocoaPods in Ihrer Entwicklung verwenden können. Wenn Sie erst einmal mit CocoaPods arbeiten, werden Sie wahrscheinlich nicht mehr ohne es leben können. Obwohl ich schon oft von CocoaPods gehört hatte, hat es einige Zeit gedauert, bis ich den Übergang vollzogen habe. Sobald ich jedoch CocoaPods verwendet habe, habe ich kein einziges Projekt ohne erstellt. Ich bin sicher, Sie werden es lieben, wenn Sie es einmal probiert haben. Das spart Ihnen nicht nur Zeit, sondern erleichtert Ihnen auch das Leben als Entwickler.