Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This plugin for CocoaPods helps locate pods in a project. It can show all pods or filter them based on some search term, such as author name, source file, dependency, and more. It is intended for projects with a large number of dependencies.

The plugin's output can be saved to YAML format for easy parsing by other tools (e.g. a CocoaPods GUI).


Add this line to your application's Gemfile:

gem 'cocoapods-query'

And then run:

$ bundle

Or, install it system-wide with:

$ gem build cocoapods-query.gemspec
$ gem install cocoapods-query-1.0.0.gem

Or, in a single command:

$ bundle exec rake install


The plugin adds a query command to CocoaPods. You can get help on its parameters with:

$ pod query --help

By default, the command lists all pods in the sandbox. This list can be filtered by one of several search terms. Here are some examples:

What pods contain the string "testing" in their name?

$ pod query --name=testing --substring --case-insensitive

What pods have a direct dependency on Foo?

$ pod query --dependency=Foo

What pods were created by

$ pod query

What pods contain a source file named HelloWorld.swift?

$ pod query --source-file=HelloWorld.swift --substring


Finding pods in the CocoaPods project can take a long time when there are many dependencies. To speed things up, the query command accepts a --cache parameter, which is used to specify a YAML file containing previous output from the --to-yaml parameter. When the plugin sees the --cache parameter, it will use the data in this file instead of rebuiding the data from the current CocoaPods instance.

Related Work

This plugin provides features that are similar to, and in some cases overlapping with, existing CocoaPods plugins.

  • list, search, and spec cat/which: These commands look at all available pods, not just those in the sandbox, and they ignore local pods. The search command applies to all fields and cannot match a particular field.
  • cache list: Similar to query --to-yaml but does not provide filtering and outputs a limited set of data.
  • info: Similar to query --to-yaml but is old, unmaintained, and limited in options.
  • search sort: Similar to list or search but allows sorting by stars, forks, or activity.


For local development of this plugin, the simplest approach is to install it into an existing app via absolute path. For example, if the code is in a directory called projects/cocoapods-query off the home directory, add the following line to the app's Gemfile:

gem 'cocoapods-query', path: "#{ENV['HOME']}/projects/cocoapods-query"

You can then make changes to the code and they will be executed when using the query command from the app's directory.


Copyright 2020 Square, Inc.


Shows all CocoaPods in a project filtered by search term (author name, source file, dependency, etc.)







No packages published