CocoaPods

CocoaPods describes itself, on its own site, as “a dependency manager for Swift and Objective-C Cocoa projects.” Its guides put the job plainly: “CocoaPods manages library dependencies for your Xcode projects.” Developers list the libraries they need in a single text file called a Podfile, and CocoaPods resolves the relationships between those libraries, fetches the source, and links it into an Xcode workspace ready to build.

The project was started by Eloy Duran around 2011. CocoaPods’ own 1.0 blog post recounts that Duran “started CocoaPods” drawing inspiration from Bundler and RubyGems — the dependency tools from the Ruby world — and that early contributor Fabio Pelosin built much of the infrastructure that followed. CocoaPods is itself written in Ruby, a direct inheritance from those tools.

Before CocoaPods, Apple developers shared third-party code largely by hand, copying files or wiring up sub-projects manually. By giving the ecosystem a central registry and a declarative Podfile, CocoaPods standardized how iOS, macOS, watchOS, and tvOS projects depend on outside libraries. The project states its goal as improving “discoverability of, and engagement in, third party open-source libraries by creating a more centralised ecosystem.”

By the time the site was surveyed it hosted over 107,000 libraries used across more than three million applications, making it one of the largest dependency ecosystems for any single platform family.