Usuń lub odinstaluj wcześniej dodaną bibliotekę: cocoapods


320

Dodałem zewnętrzną platformę za pośrednictwem cocoapods do mojej aplikacji na iOS. Jak mogę usunąć tę bibliotekę z projektu?

Odpowiedzi:


317

Ponieważ efekty uboczne zaakceptowanej odpowiedzi zostały usunięte przez skrypt napisany przez Kyle'a Fullera - deintegracja , opublikuję tutaj prawidłowy przepływ pracy:

  1. Zainstaluj czyste:

    $ sudo gem install cocoapods-clean
  2. Uruchom dezintegrację w folderze projektu:

    $ pod deintegrate

  3. Czysty:

    $ pod clean

  4. Zmodyfikuj swój plik pod (usuń linie ze strąkami, których już nie chcesz używać) i uruchom:

    $ pod install

Gotowy.


2
Ta kapsuła powinna być zaakceptowaną odpowiedzią, ponieważ jest znacznie dokładniejsza. Chociaż przed wykonaniem tego przepływu pracy sugerowałbym wyczyszczenie zawartości katalogu danych pochodnych projektu i upewnienie się, że zmiany projektu zostały zatwierdzone w istniejącym repozytorium kodu. Wreszcie po uruchomieniu pod installotworzyłem plik Xcworkspace Xcode, wykonałem pełne czyszczenie folderu kompilacji (alt + shift + polecenie + K) i zniknęły ostrzeżenia / błędy linkera. Strąki zostały pomyślnie odinstalowane z projektu.
Mark Barrasso

Uwaga do @Wszystkie: To polecenie cocoapods-cleanusuwa Podfilei.xcworkspace
Suhaib

6
Wydaje się, że teraz pod deintegratejest oficjalny: guide.cocoapods.org/terminal/commands.html#pod_deintegrate Nie ma potrzeby sudo gem install cocoapods-deintegrate.
Pang

4
Po drugie, z @ZinWinHtet, kiedy próbuję pod clean, otrzymuję:$ pod clean [!] Unknown command: clean
ScottyBlades

2
tak ... myślę, że pod clean już nie istnieje.
Zin Win Htet

455

Usuń lib z Podfile, a następnie pod installponownie.


9
Gdy to robię, pozostaję z dziesiątkami ostrzeżeń w XCode 5, narzekając, że obszar roboczy nie może znaleźć usuniętych plików. Próbowałem ręcznie to wyczyścić, ale nie powiodło się. Jak możesz czysto usunąć kapsułkę?
Matt Mombrea,

8
Znajdź plik strąków w Finderze, a następnie usuń poszczególne strąki (zauważysz, że brakuje im plików .h i .m). Potem pod update. To działało dla mnie.
AMayes

9
Otrzymasz także ostrzeżenia, o których wspomina @MattMombrea, jeśli pomyślnie usunąłeś pliki podfiles, ale nie zatwierdziłeś zmiany. Upewnij się, że wszystko jest przypisane do repozytorium kodu.
HughHughTeotl

1
Artykuł, o którym wspomina @vrunoa, jest teraz martwym linkiem. Ten artykuł jest pomocny: stackoverflow.com/questions/16427421/...
Lane Rettig

2
Chcę usunąć platformę zainstalowaną przez pod bez aktualizowania lub instalowania pliku podfile
Anand Prakash


5

Żadne z tych nie działało dla mnie. Mam wersję pod 1.5.3 i poprawną metodą było usunięcie strąków, które nie były już potrzebne z Podfile, a następnie uruchomienie:

pod update

To aktualizuje plik Podfile.lock z pliku Podfile, usuwa biblioteki, które zostały usunięte i aktualizuje wszystkie biblioteki.


1
Nie musisz aktualizować wszystkich bibliotek w swoim projekcie (coś, co może być bardzo niebezpieczne), aby usunąć bibliotekę. W tym wątku są znacznie lepsze sposoby, w tym usunięcie zasobnika z pliku pod, a następnie uruchomieniepod install
Braden Holt

To aktualizuje wszystkie wersje bibliotek i naturalnie usuwa tę, która nie jest już obecna w Podfile, ale czy naprawdę chcesz zaktualizować biblioteki? Usunięcie kapsuły i pod installto właściwy sposób.
Karim Mortabit

1
  1. Usuń nazwę zasobnika (który chcesz usunąć) z Podfile, a następnie
  2. Otwórz terminal, ustaw ścieżkę folderu projektu
  3. Uruchom instalację pod - bez integracji

1
Otrzymuję ten błąd:[!] Unknown option: '--no-integrate'
neoneye

-1

Usuń nazwę zasobnika, Podfilea następnie Otwórz terminal, ustaw ścieżkę folderu projektu i uruchom pod updatepolecenie.

UWAGA: pod updatezaktualizuje wszystkie biblioteki do najnowszej wersji, a także usunie biblioteki, których nazwa została usunięta z podfile.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.