CocoaPods Guides

Using CocoaPods

  • Getting Started

    This is a guide for setting up CocoaPods and working with your first project.

  • Using CocoaPods

    Integration instructions and best practices.

  • pod install vs. pod update

    Explains the difference between pod install and pod update and when to use each

  • The Podfile

    Learn all about the Podfile, which is used to declare dependencies for your project.

  • Troubleshooting

    The solutions to common problems.

  • F.A.Q

    Is CocoaPods ready for prime-time? Why not just use git submodules? etc. etc.

  • Testing with CocoaPods

    This is a guide for working with test specifications and CocoaPods

  • Using a Gemfile

    Find out how you can use a Gemfile to version your ruby dependencies

Build with CocoaPods


  • Podfile

    Find out all of the supported attributes of the DSL for downloading Pods.

  • Podspec

    Find out all of the supported attributes of the DSL for creating a library.

  • Command Line API

    Find out all of the supported terminal flags and commands.

CocoaPods Plugins

How to use CocoaPods plugins

Understand how a CocoaPods plugin works and how to use them in your projects

Keeping Secrets

Using cocoapods-keys to keep secrets out of your source

Optimise CI

Using cocoapods-check to reduce work on CI

Pre-compiling dependencies

Using cocoapods-binary to pre-compile a set of your pods

Packaging Closed Source SDKs

Using cocoapods-packager to ship closed source Pods

Contributing Back

How to Contribute

CocoaPods is fully open-sourced, so it depends on community contributions to get better. If you're looking to start working on CocoaPods, this is the place to start.

Core Components

These are the core components that make up the CocoaPods gem.

Setting up for Development

If you're looking to contribute to the CocoaPods project through feature additions or bug fixes, follow these instructions on setting up your development environment.

Release Process

This describes how the CocoaPods team deal with the release process.

Ticket handling

The easiest way to contribute is to help us handling the tickets.