【iOS開発】 CocoaPodsが何なのか〜導入までまとめ

Cocoa IT関連

業務で新たにiOSアプリの開発に携わりました。

以前から耳にはしていた「ココアポッズ」という言葉。

アサインされて早々、遅れを取らないように調査してみました。

CocoaPodsとは

CocoaPods.org
The Dependency Manager for iOS & Mac projects

公式サイトから引用します。

【原文】
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の導入方法

Ruby言語のgemをアップデートし、最新の状態にする

gemとは
Ruby言語のパッケージ管理ツール(正式名称: RubyGems)です。
CocoaPods は Rubyで開発されているためです。
ちなみに、MacであればRubyは標準搭載されています。

gemを使ってCocoaPodsをインストールする

上記コマンドで上手くいかなければ、下記のコマンドを実行しましょう。

上手くいかなった理由については、こちら(Qiita)の記事をご参照ください。

ちなみに
インストール時に--no-documentオプションをつけると良いかもしれません。
必要ないドキュメントが含まれない上、処理が早く終わるメリットがあります。
詳しく知りたい方は、こちら(Qiita)の記事をご参照ください。

リポジトリ情報のセットアップ

インストール後、初期設定をしなければならないようです。

インストールされているか確認

バージョンが表示されたらOKです。

プロジェクトに移動する

ライブラリを使いたいプロジェクトに移動します。上記のパスは例です。

Podfileを作成する

Podfileに、使用するライブラリを記述して管理します。
下記のコマンドを実行すると、Podfileの雛形が自動で作成されます。

エラーが起きるので、Xcodeは閉じておきましょう。

ライブラリをインストールする

※Podfileの書き方は一旦省略します。

Podfileに記載したライブラリをインストールします。

エラーが起きるので、Xcodeは閉じておきましょう。

導入後の注意点

プロジェクトを開くとき

CocoaPods導入後、プロジェクトファイル内に「プロジェクト名.xcworkspace」というファイルが生成されます。

今後は、そのファイルを実行してプロジェクトを開く必要があります。

Xcodeで開くと、画面左側のNavigatorに「Pods」が追加されているはずです!

Is the project.xcworkspace file important?
I am doing command line xcodebuild using a shell script. My problem is if I open and close the xx.xcodeproj file once and then use that command it works well. ...

「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名]と指定することも可能
Podfile.lockとは
各Podsのインストールされたバージョンを追跡し、それらのバージョンを固定するためのものです。
pod installを実行して、新しいPodsをインストールするたびに、バージョンをこのファイルに書き出します。

ちなみに、公式サイトにある  pod outdated を実行すれば、アップデート可能なPodsをリストアップしてくれるようです。

とある会社員
とある会社員

まとめてみると、、、

●install は Podfile.lockをみてインストールする。(無い場合は生成する)
●update は Podfile.lockをみずにインストールし、Podfile.lockを更新する。

というわけだね。

まとめ

CocoaPodsは、ライブラリ管理ツールということが分かりました。

でも実態は複雑で、iOSはやっぱり小難しいですね。

私が業務中、重要だと感じた用語をまとめている記事もぜひご覧ください!

【iOS開発入門】Xcode、iOSで押さえておくべき基本事項
業務中に学んだ、iOS開発で必要だと思ったことをまとめてみました。

参考文献

CocoaPods公式サイト

pod install と pod updateの違い(公式サイト)

pod install と pod updateを正しく使い分ける(日本語記事)

CocoaPods導入手順(Qiita)

初めてのCocoaPods(Qiita)

gemのインストールで--no-documentを付けると77倍早い

CocoaPodsの使い方(note)

CocoaPods導入編

Objective-C, Swift用のライブラリ管理ツール「CocoaPods」を導入しよう(WEB ARCH LABO)

iOSライブラリ管理ツール「CocoaPods」の使用方法

タイトルとURLをコピーしました