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

Jetzt kannst du die Dependencies im Projekt installieren:

$ pod install

Damit später alles funktioniert 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.

Im projekt kannst du die Dependencies nun einbinden z.B.:

#import <Reachability/Reachability.h>