Cocoapods

Aus Wikizone
Wechseln zu: Navigation, Suche

Cocoapods ein Dependency Manager für Swift and Objective-C Cocoa Projekte. Es gibt hier für viele Zwecke freien Code von Programmierern. Über den Dependency Manager kann man dafür sorgen, dass man stets die aktuelle Version in seinen Projekten hat.

Cocoapods basiert auf Ruby und kann mit den Mac Standard Libraries über das Terminal installiert werden. Je nach Mac und OS kann das aber auch mal Probleme machen. Alternativ kannst du über Homebrew installieren. Generelle habe ich mit Homebrew i.d.R. weniger Probleme.

Installation direkt über Mac

Wenn du möchtest kannst du zuerst die ruby gem library updaten:

sudo gem update --system

Dann kannst du cocoapods installieren:

sudo gem install cocoapods

Sinnvoll ist vorher auf alle Fälle ein Blick in die Doku, da sich der Vorgang ab und zu ändern kann. Schau also mal in die Getting Started Guides auf:

https://cocoapods.org

Installation über Homebrew - recommended

Immer gut - Homebrew aktualisieren und dann cocoapods installieren, dann setup ausführen um die Library Database zu laden. Das --verbose flag informiert uns was gerade beim Laden abgeht. Am Ende testen ob alles passt indem du die Version ausgibst.

brew upgrade
brew install cocoapods
pod setup --verbose
pod --version

Pods in Xcode verwenden

1. Podfile erstellen

  • Mit dem Terminal ins Projekt Hauptverzeichnis
  • Podfile erstellen:
pod init
  • In der Target Section die pods hinzufügen (Details zum Namen findest du auf cocoapods.org.

Am Ende sieht das etwa so aus:

platform :ios, '8.0'
use_frameworks!

target 'MyApp' do
  pod 'AFNetworking', '~> 2.6'
  pod 'ORStackView', '~> 3.0'
  pod 'SwiftyJSON', '~> 2.3'
end

Besser auch die Version angeben, sonst kann es sein, dass eine ältere Installiert wird.

2. Dependency in Xcode installieren

Jetzt kannst du die Dependencies im Projekt installieren:

$ pod install

3. Workspace statt Project nutzen Damit die Podfiles eingebunden werden solltest du jetzt XCode schließen und von nun an nicht das Projekt sondern den Workspace des Projekts öffnen wenn du den Build machst.

$ open App.xcworkspace

oder einfach statt dem .xcodeproj das .xcworkspace File klicken.

Dependencies nutzen

Je nach Library kann die Nutzung unterschiedlich sein. Lies die Doku der Library.

Im Projekt kannst du z.B. Dependencies einbinden z.B.:

#import <Reachability/Reachability.h>

Oder die Library erweitert XCode so, dass man direkt eine neue Komponente o.ä. verwenden kann.

Probleme beheben

Erst mal ein Build

cmd + b

Manchmal kommt es zu Fehlern, wenn in Swift oder XCode was neu ist. Die Library aber noch keinen aktuellen Code hat, oder eine ältere Version installiert ist.

  • Fehler anschauen
  • Mal im Github Repository der Lib schauen ob der Fehler schon behoben ist oder Requests vorliegen
  • Schauen ob in der Datei podfile.lock eine ältere Version als die Aktuelle geladen ist.
    • Wenn ja im podfile (nicht podfile.lock) aktualisieren. Z.B.
pod 'CLTypingLabel', '~> 0.4'

Dann im Terminal nochmal

pod install

Wenn es hier Probleme gibt Beschreibung lesen. Es können diverse Dinge vorkommen z.B. iOs plattform zu alt etc.