- Der definitive Leitfaden zur Installation und Aktualisierung von Pods
- Sie richten CocoaPods zum ersten Mal in einem Projekt ein und haben Ihr Podfile
- Sie haben einen neuen Pod zu Ihrer Poddatei hinzugefügt
- Sie möchten die neueste Version aller Pods in Ihrem Podfile erhalten
- Sie möchten die neueste Version nur eines Pods in Ihrem Podfile erhalten
- Sie arbeiten mit einem Entwicklungs-Pod und möchten die neuesten Änderungen erhalten
- Sie haben den Quellcode für ein bestehendes Projekt heruntergeladen, das CocoaPods verwendet
- Du schreibst ein Skript, um ein Projekt auf einem Build-Server zu bauen
- Xcode meldet seltsame Build-Fehler im Zusammenhang mit Pods
- Teil 2: Wie es funktioniert
- Pod-Update
- pod install
- Zusammenfassung
Der definitive Leitfaden zur Installation und Aktualisierung von Pods
Der Unterschied zwischen pod install
und pod update
ist subtil, und es ist nicht immer klar, welchen man verwenden sollte. Aber wenn man versteht, was diese Befehle tun, hat man eine viel bessere Kontrolle darüber, wie die Abhängigkeiten im Projekt verwaltet werden. Es lohnt sich also, den Unterschied zu kennen.
Im ersten Teil dieses Artikels werde ich Ihnen eine Liste von Rezepten geben, die zeigen, ob Sie pod install
oder pod update
in einigen häufigen Situationen verwenden sollten. Im zweiten Teil erkläre ich dann, warum die verschiedenen Befehle unterschiedliche Dinge tun und wie CocoaPods die Datei Podfile.lock
verwendet, um alles zu ermöglichen.
Damit diese Rezepte funktionieren, muss sichergestellt werden, dass Podfile
und Podfile.lock
in die Versionskontrolle eingebunden sind.
Sie richten CocoaPods zum ersten Mal in einem Projekt ein und haben Ihr Podfile
pod install
Dies installiert die neueste Version* jedes der Pods, die Sie in Ihrem neuen Podfile angegeben haben. Es wird auch eine MyProject.xcworkspace
-Datei erstellt, falls noch keine vorhanden war.
Sie haben einen neuen Pod zu Ihrer Poddatei hinzugefügt
pod install
Dies installiert die neueste Version* aller neuen Pods, die Ihrer Poddatei hinzugefügt wurden, wobei Ihre anderen Pods unverändert bleiben.
Wenn Sie stattdessen pod update
ausführen, werden die neuen Pods installiert und alle vorhandenen Pods auf die neueste Version* aktualisiert.
Sie möchten die neueste Version aller Pods in Ihrem Podfile erhalten
pod update
Dies geht alle Ihre Pods durch und stellt sicher, dass die neueste Version* von jedem in Ihrem Projekt installiert ist.
Sie möchten die neueste Version nur eines Pods in Ihrem Podfile erhalten
pod update SomePod
Dies stellt sicher, dass die neueste Version* des Pods, den Sie angeben, installiert wird, während Ihre anderen Pods unverändert bleiben.
Sie arbeiten mit einem Entwicklungs-Pod und möchten die neuesten Änderungen erhalten
pod update MyDevelopmentPod
Dies stellt sicher, dass die neueste Version Ihres Pods installiert wird, während die anderen Pods unverändert bleiben.
Sie haben den Quellcode für ein bestehendes Projekt heruntergeladen, das CocoaPods verwendet
pod install
Dies installiert alle Pods in der Poddatei mit genau den Versionen, die zuvor in diesem Ausschnitt des Quellcodes installiert wurden.
Wenn Sie stattdessen pod update
ausführen würden, würde es die neueste Version* jedes Pods in der Poddatei installieren. Dies könnte verhindern, dass das Projekt gebaut wird, wenn die neuesten Versionen nicht mit anderem Code im Projekt kompatibel sind. Ich würde empfehlen, pod install
auszuführen, um den Code zu bauen und dann die Pods nach Bedarf auf kontrollierte Weise zu aktualisieren.
Du schreibst ein Skript, um ein Projekt auf einem Build-Server zu bauen
pod install
Dies installiert alle Pods im Podfile mit genau den Versionen, die in der zu bauenden Version installiert wurden. Dies ist wichtig für einen stabilen Build, da dies die Versionen sind, gegen die der Code entwickelt wurde, und es bedeutet, dass jeder Build dieses Codeteils dieselben Pod-Versionen verwenden wird. Wenn Sie stattdessen pod update
verwenden würden, könnte Ihr Build möglicherweise bei jedem Build unterschiedliche Pod-Versionen verwenden.
Xcode meldet seltsame Build-Fehler im Zusammenhang mit Pods
Dies passiert gelegentlich nach dem Aktualisieren von Pods oder nach dem Wechsel zwischen Zweigen eines Projekts, die dieselben Pods in unterschiedlichen Versionen enthalten.
Löschen Sie das Verzeichnis /Pods
und führen Sie dann pod install
Dies installiert alle Pods in der Poddatei mit genau den Versionen neu, die zuvor installiert waren, und reicht in der Regel aus, um alle Probleme zu beheben, mit denen Xcode konfrontiert werden kann.
Manchmal wird empfohlen, das Verzeichnis /Pods
und die Datei Podfile.lock
zu löschen und dann pod install
auszuführen. Dies löst alle Probleme mit Xcode, aktualisiert aber auch alle Pods in der Poddatei auf die neueste Version*.
Teil 2: Wie es funktioniert
Der Unterschied zwischen pod install
und pod update
liegt darin, wie sie mit der Datei Podfile.lock
zusammenarbeiten. Diese Datei wird verwendet, um die genaue Version jedes Pods zu speichern, der derzeit in Ihrem Projekt installiert ist.
Am einfachsten lässt sich die Funktionsweise anhand des folgenden Diagramms nachvollziehen (Haftungsausschluss: Es handelt sich um ein einfaches Schema und nicht um eine genaue technische Darstellung).