- Ostateczny przewodnik po instalowaniu i aktualizowaniu strąków
- Ustawiasz CocoaPods w projekcie po raz pierwszy i utworzyłeś swój plik Podfile
- Dodałeś nowy strąk do swojego pliku Podfile
- Chcesz uzyskać najnowszą wersję wszystkich strąków w twoim pliku Podfile
- Chcesz uzyskać najnowszą wersję tylko jednego strąka w swoim pliku Podfile
- Pracujesz z deweloperskim strąkiem i chcesz uzyskać najnowsze zmiany
- Pobrałeś źródło dla istniejącego projektu, który używa CocoaPods
- Piszesz skrypt, aby zbudować projekt na serwerze budowania
- Xcode zgłasza dziwne błędy związane z budową strąków
- Część 2: Jak to działa
- pod update
- pod install
- Podsumowanie
Ostateczny przewodnik po instalowaniu i aktualizowaniu strąków
Różnica między pod install
i pod update
jest subtelna i nie zawsze jest jasne, którego powinieneś użyć. Jednak dobre zrozumienie, co te polecenia robią, daje dużo większą kontrolę nad tym, jak zarządzane są zależności w projekcie, więc warto je znać.
W pierwszej części tego artykułu przedstawię listę receptur pokazujących, czy powinieneś uruchomić pod install
czy pod update
w niektórych typowych sytuacjach. Następnie w drugiej części wyjaśnię, dlaczego różne polecenia robią różne rzeczy i jak CocoaPods używa pliku Podfile.lock
, aby to wszystko zrealizować.
Aby te przepisy działały, upewnij się, że Podfile
i Podfile.lock
są zaangażowane w kontrolę źródła.
Ustawiasz CocoaPods w projekcie po raz pierwszy i utworzyłeś swój plik Podfile
pod install
To zainstaluje najnowszą wersję* każdego z strąków, które określiłeś w swoim nowym pliku Podfile. Utworzy także plik MyProject.xcworkspace
, jeśli taki jeszcze nie istnieje.
Dodałeś nowy strąk do swojego pliku Podfile
pod install
To zainstaluje najnowszą wersję* każdego nowego strąka dodanego do twojego pliku Podfile, pozostawiając inne strąki bez zmian.
Jeśli zamiast tego uruchomisz pod update
, zainstaluje on nowe strąki i zaktualizuje każdy z istniejących strąków do jego najnowszej wersji*.
Chcesz uzyskać najnowszą wersję wszystkich strąków w twoim pliku Podfile
pod update
To przejdzie przez wszystkie strąki i upewni się, że najnowsza wersja* każdego z nich jest zainstalowana w twoim projekcie.
Chcesz uzyskać najnowszą wersję tylko jednego strąka w swoim pliku Podfile
pod update SomePod
To upewni się, że zainstalowana jest najnowsza wersja* strąka, który określisz, pozostawiając inne strąki bez zmian.
Pracujesz z deweloperskim strąkiem i chcesz uzyskać najnowsze zmiany
pod update MyDevelopmentPod
To sprawi, że zostanie zainstalowana najnowsza wersja twojego strąka, pozostawiając inne strąki bez zmian.
Pobrałeś źródło dla istniejącego projektu, który używa CocoaPods
pod install
To zainstaluje wszystkie strąki w pliku Podfile dokładnie w wersjach, które zostały wcześniej zainstalowane w tym wycinku kodu źródłowego.
Gdybyś zamiast tego uruchomił pod update
, zainstalowałoby ono najnowszą wersję* każdego ze strąków w pliku Podfile. To mogłoby uniemożliwić budowanie projektu, jeśli najnowsze wersje nie byłyby kompatybilne z innym kodem w projekcie. Zalecałbym uruchomienie pod install
, aby kod został zbudowany, a następnie aktualizację strąków w razie potrzeby w kontrolowany sposób.
Piszesz skrypt, aby zbudować projekt na serwerze budowania
pod install
To zainstaluje wszystkie strąki w pliku Podfile dokładnie w wersjach, które zostały zainstalowane w budowanej wersji. Jest to ważne dla stabilnej kompilacji, ponieważ są to wersje, przeciwko którym kod został stworzony, a to oznacza, że każda kompilacja tego fragmentu kodu będzie używać tych samych wersji strąków. Jeśli użyłbyś pod update
zamiast tego, twój build mógłby potencjalnie używać różnych wersji strąków za każdym razem, gdy się buduje.
Xcode zgłasza dziwne błędy związane z budową strąków
Czasami zdarza się to po aktualizacji strąków lub po przełączeniu się między gałęziami projektu, które zawierają te same strąki w różnych wersjach.
Usuń katalog /Pods
, a następnie uruchom pod install
To spowoduje ponowną instalację wszystkich strąków w pliku Podfile dokładnie w wersjach, które były wcześniej zainstalowane, i zwykle wystarcza do wyprostowania wszelkich problemów, z którymi Xcode może się spotkać.
Czasami ludzie sugerują usunięcie katalogu /Pods
i plikuPodfile.lock
, a następnie uruchomienie pod install
. To rozwiąże wszelkie problemy z Xcode, ale także zaktualizuje każdy z strąków w pliku Podfile do jego najnowszej wersji*.
Część 2: Jak to działa
Różnica między pod install
a pod update
polega na tym, jak współdziałają one z plikiem Podfile.lock
. Ten plik jest używany do przechowywania dokładnej wersji każdego strąka, który jest obecnie zainstalowany w twoim projekcie.
Najprostszym sposobem zrozumienia, jak to działa, jest spojrzenie na następujący diagram (zastrzeżenie: jest to prosty schemat, a nie dokładny diagram techniczny).