Core Components

<What are the main components?

To ensure that CocoaPods has a clean and easily accessible code-base we split the work among a collection of ruby gems. These work together to bring the pod command to life.


The CocoaPods gem which includes the command line support and the installer. This handles all of the user interactions for CocoaPods.


The CocoaPods-Core gem provides support to work with the models of CocoaPods, for example the Podspecs or the Podfile.


The Xcodeproj gem lets you create and modify Xcode projects from Ruby. Script boring management tasks or build Xcode-friendly libraries. Also includes support for Xcode workspaces (.xcworkspace) and configuration files (.xcconfig).


The Cocoapods-downloader gem is a small library that provides downloaders for various source control types (HTTP/SVN/Git/Mercurial). It can deal with tags, commits, revisions, branches, extracting files from zips and almost anything these source control system would use.


The CLAide gem is a simple command line parser, which provides an API that allows you to quickly create a full featured command-line interface.


The Molinillo gem is a generic dependency resolution algorithm, used in CocoaPods, Bundler and RubyGems.