業務で iOS アプリの開発に携わることになりました。
以前から耳にしていた「ココアポッズ」という言葉。
上司が発する言葉の意味がわからないと、業務は滞ってしまいます。

遅れを取らないよう、調査した内容をまとめてみました!
CocoaPodsとは
公式サイトから引用します。
【原文】
CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects.
It has over 73 thousand libraries and is used in over 3 million apps.
CocoaPods can help you scale your projects elegantly.【日本語訳】
CocoaPodsは、SwiftおよびObjective-C Cocoaプロジェクトの依存関係マネージャーです。
73,000を超えるライブラリがあり、300万を超えるアプリで使用されています。
CocoaPodsは、プロジェクトをエレガントにスケーリングするのに役立ちます。
要するに、ライブラリ管理が簡単にできるツールだよということですね。
ある特定の機能を持つプログラムをかき集めたものです。
例えば、通信処理を担う機能や、ローディングを表示する機能などです。
それらで必要なライブラリを適宜導入して開発を進めていきます。
「エレガントにスケーリング」というのは、
「すっきりと拡張できる」という意味合いらしいです。
CocoaPodsの導入方法
実際に CocoaPods を導入していきましょう!
下記の通りです。
Ruby言語のgemをアップデートし、最新の状態にする
1 |
sudo gem update --system |
Ruby言語のパッケージ管理ツール(正式名称: RubyGems)です。
CocoaPods は Rubyで開発されているためです。
ちなみに、MacであればRubyは標準搭載されています。
gemを使ってCocoaPodsをインストールする
1 |
sudo gem install cocoapods |
上記コマンドで上手くいかなければ、下記のコマンドを実行しましょう。
1 |
sudo gem install -n /usr/local/bin cocoapods |
上手くいかなった理由については、こちら(Qiita)の記事をご参照ください。
インストール時に
--no-document
オプションをつけると良いかもしれません。必要ないドキュメントが含まれない上、処理が早く終わるメリットがあります。
詳しく知りたい方は、こちら(Qiita)の記事をご参照ください。
リポジトリ情報のセットアップ
1 |
pod setup |
インストール後、初期設定をしなければならないようです。
インストールされているか確認
1 |
pod --version |
バージョンが表示されたらOKです。
プロジェクトに移動する
1 |
cd Users/yutori/projects/iOS/TestApp |
ライブラリを使いたいプロジェクトに移動します。上記のパスは例です。
Podfileを作成する
1 |
pod init |
Podfileに、使用するライブラリを記述して管理します。
下記のコマンドを実行すると、Podfileの雛形が自動で作成されます。
エラーが起きるので、Xcodeは閉じておきましょう。
ライブラリをインストールする
※Podfileの書き方は一旦省略します。
1 |
pod install |
Podfileに記載したライブラリをインストールします。
エラーが起きるので、Xcodeは閉じておきましょう。
導入後の注意点
プロジェクトを開くとき
CocoaPods導入後、プロジェクトファイル内に「プロジェクト名.xcworkspace」というファイルが生成されます。
今後は、そのファイルを実行してプロジェクトを開く必要があります。
Xcodeで開くと、画面左側のNavigatorに「Pods」が追加されているはずです!

「pod install」と「pod update」の使い分け
複数の記事を参考にしたのですが、ほとんどが以下のような解釈でした。
- pod install
- プロジェクトを最初に設定するときのみ使用する
- pod update
- install以降の新規インストールでも使用する
しかし、これは間違いのようです。
CocoaPodsの公式サイトでも言及されています。
正しくは下記のような使い分けです。
- pod install
- Podfileを編集しPodsを追加・削除・更新するたびに使用する
- Podfile.lockを参照し、インストールされていないものだけ依存性を解決する。
- 逆にインストールされているものは、新しいバージョンなど関係なしにPodfile.lockに記載されているバージョンをダウンロードする。
- pod update
- Podfile.lockは参照せず、Podfileに記載されている全てのPodsを最新バージョンにアップデートする
- pod update [Pod名]と指定することも可能
各Podsのインストールされたバージョンを追跡し、それらのバージョンを固定するためのものです。
pod installを実行して、新しいPodsをインストールするたびに、バージョンをこのファイルに書き出します。
ちなみに、公式サイトにある pod outdated を実行すれば、アップデート可能なPodsをリストアップしてくれるようです。
整理してみると、以下のようになります。
- install
- Podfie.lockを参照してインストール
- 存在しない場合は生成する
- update
- Podfile.lockを参照せずにインストール
- Podfile.lockを更新する
まとめ
CocoaPodsは、ライブラリ管理ツールということが分かりました。
導入方法も、意外とあっさり終わりました。
次は実際に開発の力を強めていきたいですね。
次にオススメ
私が業務中、重要だと感じた用語をまとめた記事もあります。
気になる方はこちらからチェックしてみてください!✅
参考文献
pod install と pod updateの違い(公式サイト)
pod install と pod updateを正しく使い分ける(日本語記事)
gemのインストールで--no-document
を付けると77倍早い
Objective-C, Swift用のライブラリ管理ツール「CocoaPods」を導入しよう(WEB ARCH LABO)
たった2日でマスターできるiPhoneアプリ開発集中講座
全くアプリ開発に馴染みがない人でも分かりやすい一冊です。iOSとは何か?というところから丁寧に教えてくれます!