Cocoapods: Unterschied zwischen den Versionen
| Zeile 84: | Zeile 84: | ||
* Podfile bearbeiten und Referenz auf die Lib entfernen. | * Podfile bearbeiten und Referenz auf die Lib entfernen. | ||
* pod install ausführen | * pod install ausführen | ||
| + | == Pod upgrade == | ||
| + | Latest Versions holen mit | ||
| + | pod upgrade | ||
| + | |||
| + | == Alternativen zu Cocoapods == | ||
| + | === Carthage === | ||
| + | Komplizierte Installation und Updates (2020) -> not recommended | ||
| + | === Swift Package Manager === | ||
| + | In den letzten Jahren nützlicher geworden. Von Apple und in XCode integriert. | ||
| + | File > Packet Manager > add Package | ||
| + | VORSICHT - Anfang 2020 Probleme wenn mit Cocoapods zusammen verwendet. | ||
| + | |||
| + | == Nützliche verbreitete Packages == | ||
| + | Alamofire - Networking | ||
| + | Firebase - Google Database | ||
Version vom 22. Januar 2023, 22:38 Uhr
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.
Pod entfernen
- Alle Imports / Referenzen / Instanzen... entfernen oder ersetzen
- Xcode schließen
- Podfile bearbeiten und Referenz auf die Lib entfernen.
- pod install ausführen
Pod upgrade
Latest Versions holen mit
pod upgrade
Alternativen zu Cocoapods
Carthage
Komplizierte Installation und Updates (2020) -> not recommended
Swift Package Manager
In den letzten Jahren nützlicher geworden. Von Apple und in XCode integriert.
File > Packet Manager > add Package
VORSICHT - Anfang 2020 Probleme wenn mit Cocoapods zusammen verwendet.
Nützliche verbreitete Packages
Alamofire - Networking Firebase - Google Database