Jaki jest właściwy sposób usunięcia CocoaPods z projektu? Chcę usunąć cały CocoaPod. Ze względu na pewne ograniczenia nałożone przez mojego klienta nie mogę z niego korzystać. Potrzebuję tylko jednego xcodeproj zamiast xcworkspace.
pod deintegrate
Jaki jest właściwy sposób usunięcia CocoaPods z projektu? Chcę usunąć cały CocoaPod. Ze względu na pewne ograniczenia nałożone przez mojego klienta nie mogę z niego korzystać. Potrzebuję tylko jednego xcodeproj zamiast xcworkspace.
pod deintegrate
Odpowiedzi:
Usuwanie CocoaPods z projektu jest możliwe, ale obecnie nie jest zautomatyzowane przez CLI. Po pierwsze, jeśli jedynym problemem, jaki masz, jest niemożność korzystania z xcworkspace
CocoaPods za pomocą xcodeproj
s, używając --no-integrate
flagi, która utworzy Pods.xcodeproj
przestrzeń roboczą, ale nie. Następnie możesz dodać to xcodeproj
jako podprojekt do swojego głównego xcodeproj
.
Jeśli naprawdę chcesz usunąć całą integrację CocoaPods, musisz zrobić kilka rzeczy:
UWAGA edytowanie niektórych z tych rzeczy, jeśli wykonane nieprawidłowo, może uszkodzić główny projekt. Gorąco zachęcam do sprawdzenia swoich projektów pod kontrolą źródła na wszelki wypadek. Również te instrukcje dotyczą wersji CocoaPods 0.39.0
, mogą się zmienić w nowych wersjach.
Podfile
Podfile.lock
i swój Pods
katalog)xcworkspace
xcodeproj
plik, usuń odniesienia do Pods.xcconfig
i libPods.a
(w Frameworks
grupie)Build Phases
usunąć Copy Pods Resources
, Embed Pods Frameworks
i Check Pods Manifest.lock
faz.Po tych krokach powinieneś ustawić jeden, xcodeproj
który istniał przed zintegrowaniem CocoaPods. Jeśli coś przeoczyłem, daj mi znać, a ja to wyedytuję.
Zawsze szukamy też sugestii, jak ulepszyć CocoaPods, więc jeśli masz problemy, prześlij je w naszym narzędziu do śledzenia problemów , abyśmy mogli znaleźć sposób, aby je naprawić!
EDYTOWAĆ
Jak pokazał Jack Wu w komentarzach, istnieje wtyczka CocoaPods strony trzeciej, która może zautomatyzować te kroki za Ciebie. Można go znaleźć tutaj . Pamiętaj, że jest to wtyczka innej firmy i nie zawsze może być aktualizowana, gdy jest CocoaPods. Należy również pamiętać, że jest on tworzony przez członka podstawowego zespołu CocoaPods, więc problem nie będzie problemem.
pod deintegrate
i pod clean
są to dwa wyznaczone polecenia do usunięcia CocoaPod z twojego projektu / repozytorium.
Oto pełny zestaw poleceń:
$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod cache clean --all
$ rm Podfile
Oryginalne rozwiązanie znaleziono tutaj: https://medium.com/@icanhazedit/remove-uninstall-deintegrate-cocoapods-from-your-xcode-ios-project-c4621cee5e42#.wd00fj2e5
Dokumentacja CocoaPod na pod deintegrate
: https://guides.cocoapods.org/terminal/commands.html#pod_deintegrate
Aby całkowicie usunąć strąki z projektu, najpierw musisz zainstalować dwie rzeczy ... są one następujące (Zakładając, że masz już strąki kakaowe zainstalowane w systemie.) ...
Instalacja
Cocoapods-Deintegrate Plugin
Użyj następującego polecenia na swoim terminalu, aby go zainstalować.
sudo gem install cocoapods-deintegrate
Wtyczka Cocoapods-Clean
Użyj następującego polecenia na swoim terminalu, aby go zainstalować.
sudo gem install cocoapods-clean
Stosowanie
Najpierw przejdź do folderu projektu za pomocą zwykłego polecenia, takiego jak ..
cd (path of the project) //Remove the braces after cd
Teraz użyj tych dwóch wtyczek, aby całkowicie je usunąć w następujący sposób ...
Cocoapods-Deintegrate Plugin
Użyj tego polecenia na swoim terminalu, aby najpierw dezintegrować strąki z twojego projektu.
pod deintegrate
Wtyczka Cocoapods-Clean
Po dezintegracji kapsuły z projektu użyj następującego polecenia na swoim terminalu, aby całkowicie go wyczyścić.
pod clean
Po wykonaniu powyższych zadań w katalogu projektu powinien pozostać plik Podfile. Po prostu usuń go ręcznie lub użyj następującego polecenia na terminalu.
rm Podfile
To wszystko ... Teraz twój projekt jest wolny od strąków ... Oczyszczony.
Usuwanie Cocoapods z systemu.
W dowolny sposób spróbuj użyć następującego polecenia na terminalu, aby odinstalować / usunąć coca-pods z systemu.
sudo gem uninstall cocoapods
Automatycznie usunie strąki koki.
Dzięki. Mam nadzieję, że to pomogło.
Myślę, że jest na to łatwiejszy sposób.
Zgodnie z edycją przyjętej odpowiedzi, teraz możesz używać wtyczki innej firmy cocoapod-deintegrate , jest niezawodna, ponieważ została stworzona przez członka podstawowego zespołu CocoaPods.
Ale nadal pozostają niektóre pliki:
Podfile
Podfile.lock
Workspace
Możesz usunąć je z projektu ręcznie, ale jest też inne narzędzie, które pomoże Ci je wyczyścić, dzięki cocoapods-clean .
Wreszcie prace deinstalacyjne wciąż nie są zakończone, cocoapods-clean
nie czyść Podfile
, po prostu uruchom:
rm Podfile
Twoje zdrowie!
Przed usunięciem upewnij się, że masz kopię zapasową projektu!
pod deintegrate
Po tym cmd nie pozostały żadne ślady Cocoapods w twoim projekcie.
Ale Twój obszar roboczy odwołujący się do projektu Pods nadal pozostaje, musisz ręcznie usunąć poniżej 3 plików:
xx.xcworkspace
Podifle
Podfile.lock
Następnie możesz ponownie użyć swojego projektu.
Baw się dobrze!
Testuj wersję CocoaPod = 1.2.0
Próbowałem wszystkich tych odpowiedzi, ale nadal nie udało się zbudować, w końcu próbowałem:
pod deintegrate
pod install
które faktycznie działało!
To tak, jakby musiał usunąć wszystkie skrypty pod z faz kompilacji i ponownie dodać je ponownie, aby działało, przynajmniej w moim przypadku.
Odpowiedź Keitha jest świetna - chcę tylko podkreślić, że ponieważ Cocoapods 0.36 zaczyna obsługiwać Dynamic Frameworks , jeśli używasz „use_frameworks!” w swoim „Podfile” i jeśli chcesz usunąć Cocoapods, musisz to zrobić:
Build Phases
usuwania Embed Pods Frameworks
.Pods
wewnątrz są jakieś inne pliki, Build Phases
usuń je.
Deweloperzy mogą napotkać dwa aspekty.
W pierwszym przypadku musisz użyć opcji „de deintegrate” i wykonać kilka kroków wymienionych w odpowiedziach powyżej.
W drugim przypadku, jeśli chcesz odinstalować dowolny konkretny framework, który jest tam zainstalowany, bardzo prosty sposób dostępny w pliku pod, po prostu skomentuj środowisko, które chcesz odinstalować i uruchom komendę pod install.
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
target 'ProjectName' do
# Uncomment this line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
pod 'iCarousel', '~> 1.8'
# pod 'Facebook-iOS-SDK', '~> 4.1'
# pod 'ParseFacebookUtilsV4', '~> 1.11'
# pod 'Parse', '~> 1.14'
end
Tutaj chcę odinstalować frameworki Facebooka i parsować (które zostały zainstalowane przy użyciu pods), a nie iCarousel, dlatego zaktualizowałem mój plik pod, jak wyżej.
Teraz, jeśli uruchomię pod, zainstaluje iCarousel, tak jak jest w moim projekcie, i usunie Facebooka i parsuje.
Podfile
, Podfile.lock
The Pods
folder, a wygenerowany roboczy..xcodeproj
usuń odniesienia do Pods.xcconfig
plików i libPods.a
pliku.Pods.framework
.Jedyne, co możesz chcieć zrobić, to włączyć niektóre biblioteki, których wcześniej używałeś. Możesz to zrobić, po prostu przeciągając dowolne foldery znajdujące się w folderach strąków do projektu (wolę umieścić je w folderze plików pomocniczych).
To zadziałało dla mnie.
$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod clean
$ rm Podfile
gem uninstall cocoapods-deintegrate cocoapods-clean
Jeśli nie działa, spróbuj
1. wyczyścić projekt.
2. usunięte dane pochodne.
jeśli nie wiesz, jak usunąć dane pochodne, przejdź tutaj
Usuń wszystkie powiązane pliki pod:
oraz w Nawigatorze projektu:
Kliknij nazwę projektu (niebieska ikona) -> Cele (*) -> Fazy budowy -> Usuń „[CP] Sprawdź manifesty strąków. Zablokuj” (kliknij „x”)
(*) Kliknij nazwę projektu, być może będziesz musiał kliknąć „Pokaż listę projektów i celów”, aby najpierw wyświetlić pasek boczny.
Napiszę, co iv zrobiłem bardzo krótko (aby usunąć CocoaPods z mojego projektu) ..
Aby usunąć odwołanie do frameworka z xcode:
podfile
nazwę z.plist
Jeśli chcesz tylko usunąć jedną kapsułę i zachować inne, które mogły być zainstalowane, otwórz plik pod w katalogu aplikacji i usuń ten, który chcesz usunąć. Następnie przejdź do katalogu aplikacji za pomocą terminala i wpisz:
pod update
Spowoduje to usunięcie kapsuły, którą usunąłeś z pliku. Zobaczysz, że został usunięty w terminalu:
Analyzing dependencies
Removing FirebaseUI
Removing UICircularProgressRing
Zauważ, że ta metoda spowoduje również pobranie wszelkich aktualizacji innych strąków w twoim pliku pod. Możesz tego chcieć lub nie.
pod install
do dodawania / usuwania strąków. Ma to na celu uniknięcie aktualizacji, jak powiedziałeś tutaj. Możesz przeczytać więcej na temat ich „Przewodników” na ten właśnie temat ... guide.cocoapods.org/using/pod-install-vs-update.html
Użyj tych poleceń terminalu (nie zapomnij użyć sudo na początku nowych linii):
open:YourDir YouName$ sudo gem uninstall cocoapods
Password:?
Remove executables:
pod, sandbox-pod
in addition to the gem? [Yn] Y
Removing pod
Removing sandbox-pod
Successfully uninstalled cocoapods-1.4.0
open:YourDir YourName$ gem list --local | grep cocoapods
cocoapods-core (1.4.0)
cocoapods-deintegrate (1.0.2)
cocoapods-downloader (1.1.3)
cocoapods-plugins (1.0.0)
cocoapods-search (1.0.0)
cocoapods-stats (1.0.0)
cocoapods-trunk (1.3.0)
cocoapods-try (1.1.0)
Odinstaluj listę jeden po drugim:
open:YourDir YourName$ sudo gem uninstall cocoapods-core
Successfully uninstalled cocoapods-core-1.4.0
open:YourDir YourName$ sudo gem uninstall cocoapods-trunk
Successfully uninstalled cocoapods-trunk-1.3.0
open:YourDir YourName$ sudo gem uninstall cocoapods-try
Successfully uninstalled cocoapods-try-1.1.0
open:YourDir YourName$ gem list --local | grep cocoapods
open:YourDir YourName$ sudo gem uninstall cocoapods-stats
Successfully uninstalled cocoapods-stats-1.0.0
open:YourDir YourName$ sudo gem uninstall cocoapods-search
Successfully uninstalled cocoapods-search-1.0.0
open:YourDir YourName$ sudo gem uninstall cocoapods-downloader
Successfully uninstalled cocoapods-downloader-1.1.3
open:YourDir YourName$ sudo gem uninstall cocoapods-plugins
Successfully uninstalled cocoapods-plugins-1.0.0
open:YourDir YourName$ gem list --local | grep cocoapods
cocoapods-deintegrate (1.0.2)
open:YourDir YourName$ sudo gem uninstall cocoapods-deintegrate
Successfully uninstalled cocoapods-deintegrate-1.0.2
open:YourDir YourName$ sudo gem uninstall cocoapods-stats
Successfully uninstalled cocoapods-stats-1.0.0
open:YourDir YourName$ sudo gem uninstall cocoapods-search
Successfully uninstalled cocoapods-search-1.0.0
open:YourDir YourName$ sudo gem uninstall cocoapods-downloader
Successfully uninstalled cocoapods-downloader-1.1.3
open:YourDir YourName$ sudo gem uninstall cocoapods-plugins
Successfully uninstalled cocoapods-plugins-1.0.0
open:YourDir YourName$ gem list --local | grep cocoapods
cocoapods-deintegrate (1.0.2)
open:YourDir YourName$ sudo gem uninstall cocoapods-deintegrate
Successfully uninstalled cocoapods-deintegrate-1.0.2
Nie sądzę, że musisz się dezintegrować. Byłem w stanie to zrobić za pomocą następującego polecenia w terminalu:
instalacja pod
i automatycznie usuwa te, których już nie ma w podfile