CocoaPodsって何?
CocoaPods は Objective-C のライブラリ管理ツール。Ruby の Bundler みたいなもの。
開発中の iPhone アプリでカレンダーが使いたくなって TapkuLibrary を README を見ながら導入したんだけど、プロジェクトにファイルを追加したり設定を変更したりと苦労した。
ライブラリを追加するたびに毎回同じような思いをするのは嫌だと思っていたところに、CocoaPods の存在を知ったんで飛びついてみる。
CocoaPods のインストール
CocoaPods は Ruby の gem として提供されている。以前は MacRuby が必要だったみたいだけど、今ではシステムの Ruby でもインストールできるようになった。
gem install cocoapods
を実行するとインストールされる。rbenv を使っている場合は忘れず rbenv rehash すること。
pod コマンドが使えるようになるので
pod setup
を実行して CocoaPods をセットアップする。
iOS プロジェクト作成
Xcode を起動して、新規に iOS アプリプロジェクト作成する。名前はとりあえず HelloPods にでもしておく。
プロジェクト作成したら Xcode はいったん閉じる。
CocoaPods を使ってライブラリをインストール
ターミナルを開いて、先ほど作成したプロジェクトのルートディレクトリに移動。ここに Podfile を作成する。Podfile はプロジェクトで使うライブラリを記述するファイルで、Ruby の Bundler でいうところの Gemfile みたいなもの。
platform :ios workspace '(アプリ名).xcworkspace' xcodeproj '(アプリ名).xcodeproj' pod 'OKMock'
試しに、テストで使うモックライブラリを書いてみた。ちなみに Podfile の書式は Ruby の言語内 DSL になっている。
あとは Podfile が置かれているディレクトリで
pod install
を実行すると、Pods ディレクトリが作成され、その中にライブラリがインストールされた。あと、Podfile と同じディレクトリに xcworkspace ファイルも作成されていた。
ライブラリが使えるか確認
Xcode で xcworkspace ファイルを開くと、HelloPods と Pods の2つのプロジェクトが表示される。
ワークスペースを開くと、HelloPods は Pods プロジェクトを参照するようになっていて、Podfile に記述したライブラリがすぐ使える状態だった。ヘッダファイル名の補完でちゃんと OCMock が挙ってくる。
CocoaPods 無しにはもう戻れない
ライブラリを追加するときは、Podfile に追記して pod install を実行するだけ。手軽すぎて、CocoaPods の無い開発にはもう戻れない。だって、GitHub からソースコード落としてきて使う場合、プロジェクトの設定とかが面倒。超面倒。TapkuLibrary とか TapkuLibrary とか。