Remove or uninstall library previously added : cocoapods
Asked Answered
W

10

375

I added an external framework via cocoapods into my iOS application. How can i remove that library from the project?

Wrist answered 6/12, 2012 at 19:35 Comment(0)
K
429

The unwanted side effects of simple folder delete or installing over existing installation have been removed by a script written by Kyle Fuller - deintegrate and here is the proper workflow:

  1. Install clean:

    sudo gem install cocoapods-clean
    
  2. Run deintegrate in the folder of the project:

    pod deintegrate
    
  3. Clean (this tool is no longer available):

    pod clean
    
  4. Modify your podfile (delete the lines with the pods you don't want to use anymore) and run:

    pod install
    

Done.

Km answered 10/2, 2016 at 13:33 Comment(12)
This pod should be the accepted answer, because it is much more thorough. Although, before following this workflow, I would suggest to clear the contents of the project's Derived Data directory, and make sure to commit the project's changes to the existing code repository. Finally, after running pod install, I opened the Xcode xcworkspace file, performed a full clean on the build folder (alt+shift+command+K), and the warnings/linker errors were gone. Pods were now successfully uninstalled from the project.Vegetable
Note to @All: This commandcocoapods-clean deletes the Podfile and .xcworkspaceVerticillate
Seems now pod deintegrate is official: guides.cocoapods.org/terminal/commands.html#pod_deintegrate No need for sudo gem install cocoapods-deintegrate.Postulate
I found that when I removed SwiftLint from my project, that I also had to manually remove a line referencing it from the run script.Lyrism
I second that from @ZinWinHtet, when I try pod clean I get: $ pod clean [!] Unknown command: cleanAshbaugh
yes... , pod clean no longer exists anymore I think.Danette
@Outsider that is interesting. What is your situation?Km
I had a project where I incorrectly added a podfile. I then changed it by changing teh text and restarting teh project which is incorrect. Then I tried this and it did not work at that pointLatakia
Fully completing all these steps did the trick. I still had to remove a few Pods-related files from the Finder and Xcode, but the Xcode project file built correctly after replacement of the pods with Swift Package Manager.Ibadan
So if the command pod clean no longer exists, should I still run sudo gem install cocoapods-clean?Tebet
Hey..... There are no pod names in my Podfile! 😲 There's only the line: flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))!... In the Podfile.lock file, there's a list of pod names, but I'm not supposed to edit that one, am I?..... 🙄Tebet
I followed these steps but still ended up with many duplicates in the Pods folder. So I deleted the Pods folder before pod install and it worked.Tirzah
R
488

Remove lib from Podfile, then pod install again.

Roadwork answered 7/12, 2012 at 7:50 Comment(7)
When I do this, I'm left with dozens of warnings in XCode 5 complaining that the workspace can't find the removed files. I've tried to manually clean this up but have not been successful. How can you cleanly remove a pod?Tolley
Find the pods file in Finder, then delete each of the individual pods (you'll notice they're missing the .h and .m files). Then pod update. That worked for me.Deflection
Also remember if library A is referenced by library B, which is also in Podfile, library A won't be removed even if you remove its entry and run "pod install". Library A will only be removed if you also removed the entry for library B.Eloiseelon
You also get the warnings that @MattMombrea mentions if you successfully deleted the podfiles, but haven't committed the change. Make sure everything is committed to the code repository.Executory
The article that @vrunoa mentions is now a dead link. This article is helpful: #16427921Veldaveleda
I want to delete a framework installed by pod without updating or installing podfilePermanency
Installing podfile only means that you use the dependencies currently there in the podfile, which is exactly what you want to do. If you don't do that, you will still depend on the deleted libraries, which would be bad. Update, however, is unnecessary.Tebet
K
429

The unwanted side effects of simple folder delete or installing over existing installation have been removed by a script written by Kyle Fuller - deintegrate and here is the proper workflow:

  1. Install clean:

    sudo gem install cocoapods-clean
    
  2. Run deintegrate in the folder of the project:

    pod deintegrate
    
  3. Clean (this tool is no longer available):

    pod clean
    
  4. Modify your podfile (delete the lines with the pods you don't want to use anymore) and run:

    pod install
    

Done.

Km answered 10/2, 2016 at 13:33 Comment(12)
This pod should be the accepted answer, because it is much more thorough. Although, before following this workflow, I would suggest to clear the contents of the project's Derived Data directory, and make sure to commit the project's changes to the existing code repository. Finally, after running pod install, I opened the Xcode xcworkspace file, performed a full clean on the build folder (alt+shift+command+K), and the warnings/linker errors were gone. Pods were now successfully uninstalled from the project.Vegetable
Note to @All: This commandcocoapods-clean deletes the Podfile and .xcworkspaceVerticillate
Seems now pod deintegrate is official: guides.cocoapods.org/terminal/commands.html#pod_deintegrate No need for sudo gem install cocoapods-deintegrate.Postulate
I found that when I removed SwiftLint from my project, that I also had to manually remove a line referencing it from the run script.Lyrism
I second that from @ZinWinHtet, when I try pod clean I get: $ pod clean [!] Unknown command: cleanAshbaugh
yes... , pod clean no longer exists anymore I think.Danette
@Outsider that is interesting. What is your situation?Km
I had a project where I incorrectly added a podfile. I then changed it by changing teh text and restarting teh project which is incorrect. Then I tried this and it did not work at that pointLatakia
Fully completing all these steps did the trick. I still had to remove a few Pods-related files from the Finder and Xcode, but the Xcode project file built correctly after replacement of the pods with Swift Package Manager.Ibadan
So if the command pod clean no longer exists, should I still run sudo gem install cocoapods-clean?Tebet
Hey..... There are no pod names in my Podfile! 😲 There's only the line: flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))!... In the Podfile.lock file, there's a list of pod names, but I'm not supposed to edit that one, am I?..... 🙄Tebet
I followed these steps but still ended up with many duplicates in the Pods folder. So I deleted the Pods folder before pod install and it worked.Tirzah
I
31
  1. Remove the library from your Podfile

  2. Run pod install on the terminal

Indication answered 27/8, 2017 at 1:14 Comment(2)
If I'm using Flutter, can I run flutter clean - flutter pub get instead of pod install? Just wondering...Tebet
Hey..... There are no pod names in my Podfile! 😲 There's only the line: flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))!... In the Podfile.lock file, there's a list of pod names, but I'm not supposed to edit that one, am I?..... 🙄Tebet
S
8

None of these worked for me. I have pod version 1.5.3 and the correct method was to remove the pods that were not longer needed from the Podfile and then run:

pod update

This updates your Podfile.lock file from your Podfile, removes libraries that have been removed and updates all of your libraries.

Suzerainty answered 9/1, 2019 at 18:21 Comment(3)
You don't need to update all the libraries in your project (something that can be very dangerous) just to remove a library. There are much better ways in this thread including removing the pod from your podfile and then running pod installLaudatory
This updates all versions of your libraries and naturally removes the one that is not present anymore in the Podfile, but do you really want to update the libraries ? Removing the pod and pod install is the correct way.Nerynesbit
Hey..... There are no pod names in my Podfile! 😲 There's only the line: flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))!... In the Podfile.lock file, there's a list of pod names, but I'm not supposed to edit that one, am I?..... 🙄Tebet
D
3

To completely remove Pod or Cocoapods Framework from your Project repository !

sudo gem install cocoapods-clean
pod deintegrate
pod clean

Then Try to remove the File

Pods

Podfile

Podfile.lock

yourProjectName.xcworkspace

Dobbs answered 19/8, 2022 at 10:12 Comment(0)
G
2

First, determine which versions of Cocoapods are installed :

gem list --local | grep cocoapods

You get output as this:

cocoapods (1.11.2)
cocoapods-clean (0.0.1)
cocoapods-core (1.11.2, 1.10.2, 1.10.1)
cocoapods-deintegrate (1.0.4)

To completely remove, issue the following commands:

gem uninstall cocoapods
gem uninstall cocoapods-clean
gem uninstall cocoapods-core
gem uninstall cocoapods-deintegrate

Running again to confirm that Cocoapods has been removed:

gem list --local | grep cocoapods

You may have residual artefacts in a hidden folder in your directory. Remove these with:

rm -rf ~/.cocoapods
Galanti answered 15/2, 2022 at 15:57 Comment(1)
The question was not how to remove cocoapods!!... 😏 The qn is how to remove A LIBRARY that was installed via cocoapods!Tebet
E
2

Remove the Pod without hurting other Pods or their versions.

remove the pod that is no longer needed from the PodFile and run

pod install --no-repo-update
Ellingson answered 24/8, 2023 at 7:21 Comment(0)
H
1
  1. Remove pod name(which to remove) from Podfile and then
  2. Open Terminal, set project folder path
  3. Run pod install --no-integrate
Hatch answered 6/4, 2016 at 9:21 Comment(2)
I'm getting this error: [!] Unknown option: '--no-integrate'Thorton
Hey..... There are no pod names in my Podfile! 😲 There's only the line: flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))!... In the Podfile.lock file, there's a list of pod names, but I'm not supposed to edit that one, am I?..... 🙄Tebet
A
0

Remove pod name from Podfile then Open Terminal, set project folder path and Run pod update command.

NOTE: pod update will update all the libraries to the latest version and will also remove those libraries whose name have been removed from podfile.

Ajmer answered 9/4, 2018 at 8:23 Comment(1)
Hey..... There are no pod names in my Podfile! 😲 There's only the line: flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))!... In the Podfile.lock file, there's a list of pod names, but I'm not supposed to edit that one, am I?..... 🙄Tebet
I
0

Got this trying to install google_sign_in with flutter. Just had to remove the AppAuth library stuff from cocoapods, then 'pod install' in ios directory. Then I had to remove the flutter plugin, then I had to reinstall flutter plugin, then redo pod install. Then it worked. So I guess weird caching.

Impatience answered 18/8, 2023 at 0:31 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.