In dem heutigen Beitrag möchte ich eine alternative Installationsmethode zu CocoaPods für iOS Frameworks zeigen. Die Alternative heißt Carthage. Hier wird der Quelltext des Frameworks zum Beispiel von Github heruntergeladen und mit dem Programm xcodebuild das Framework erstellt. Carthage ist standardmäßig auf einem Mac nicht installiert. In diesem Beitrag zeige ich, wie Sie Carthage über Homebrew installieren können. Dazu führen Sie bitte die folgenden Schritte aus :
- Ein Terminalfenster öffnen
- Damit Homebrew richtig arbeiten kann, müssen die Rechte des Verzeichnisses /usr/local geändert werden. Dazu benutzen Sie den folgenden Befehl:
sudo chown -R $(whoami) /usr/local
- Homebrew wird über den folgenden Befehl installiert:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- Nachdem Homebrew erfolgreich installiert ist, kann Carthage über den folgenden Befehl installiert werden:
brew install carthage
Nun ist das Programm Carthage installiert und kann genutzt werden. Nun installieren wir ein oder mehrere Frameworks über Carthage. Dazu müssen die folgenden Schritte ausgeführt werden:
- Wechseln Sie im Terminalfenster in das Entwicklungsverzeichnis der App, wofür Sie ein oder mehrere Frameworks installieren möchten.
- Nun Erstellen Sie eine Datei mit dem Namen cartfile und dem folgenden Inhalt:
github "box/box-ios-sdk"
In diesem Beispiel wird das iOS SDK Framework für den Cloud-Speicher Box installiert. Die Adresse in den Anführungszeichen ist die gleich wie bei Github. Sollen noch weitere Frameworks installiert werden, müssen die Adressen jeweils in eine neue Zeile.
- Um jetzt das Framework direkt von Github zu klonen, muss der folgende Befehl ausgeführt werden:
carthage update --platform iOS
Damit wird das iOS Framework für das Box Cloud Drive in das Entwicklungsverzeichnis Ihrer App geklont. Wenn noch weitere Frameworks in der Datei cartfile angegeben sind, werden diese ebenfalls heruntergeladen.
Der Quelltext des Frameworks wird im Verzeichnis <Entwicklungsverzeichnis>/Carthage/Checkouts kopiert. Nach dem Kopiervorgang wird das Framework in das Verzeichnis <Entwicklungsverzeichnis>/Carthage/Build mit xcodebuild erstellt. Für die Einbindung des Frameworks in Ihre App, schauen Sie bitte in die Anleitung des Authors.
Probleme
Wenn der Befehl carthage nicht gefunden oder aufgerufen werden kann, muss der folgenden Befehl nochmals ausgeführt werden:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Dieser Befehl führt nochmals die Installation von Homebrew aus. Bei der Installation werden gegebenenfalls die aktuellen CommandLine Tools von Xcode heruntergeladen und installiert.
Jedes Programm, welches über Homebrew installiert wird, muss einen entsprechenden Link haben, damit es von überall aus aufgerufen werden kann. Um den Link für Carthage zu setzen, führen sie bitte den folgenden Befehl aus :
brew link carthage
Beim Klonen eines oder mehrere Frameworks kann es passieren, dass die folgende Meldung angezeigt wird:
*** Cloning box-ios-sdk *** Checking out box-ios-sdk at "v2.2.0" *** xcodebuild output can be found in /var/folders/k5/p1s2rdzs2sndgrk48dss3kj00000gn/T/carthage-xcodebuild.fGSAFA.log A shell task (/usr/bin/xcrun xcodebuild -workspace /Users/RWarnecke/repos/XCode/ios/LaserMessung/Carthage/Checkouts/box-ios-sdk/BoxContentSDKSampleApp/BoxContentSDKSampleApp.xcworkspace CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES -list) failed with exit code 72: xcrun: error: unable to find utility "xcodebuild", not a developer tool or in PATH
Dann kann Carthage die CommandLine Tools von Xcode nicht finden und somit auch das Framework nicht erstellen. Dazu muss in den Einstellungen von Xcode die entsprechende Version von den CommandLine Tools ausgewählt werden. Dazu die folgenden Schritte ausführen :
- Die App Xcode öffnen
- Dann aus dem Menü Xcode den Menüpunkt Preferences auswählen. Danach erscheint das folgendes Fenster:
- In der Auswahlbox die entsprechende Version auswählen, wie im folgenden Bild : (Version kann gegebenenfalls abweichen)
Den Befehl carthage update –platform iOS nochmals ausführen. Jetzt sollte der Quelltext des Frameworks auf Ihren Rechner kopiert werden und das Framework erstellen werden.
Wenn in der Artikel gefallen hat oder Sie Verbesserungsvorschläge haben, freue ich mich über einen Kommentar.