いやー、簡単便利ですね。いくつかのサイトを参考にしてCocoaPodsを利用してみました。一度やってみると仕組みもわかって激しく簡単にいろいろ設定できるということがわかりました。
CocoaPodって?
まず、ライブラリをプロジェクトに追加する時って、いろいろ-fno-objc-arc
やったりヘッダーパスを指定したり面倒なことが生じることがあります。そういうのってdependencyというのかな、コマンドベースでそれを解消したライブラリをXcodeプロジェクトに入れて利用することができます。
イメージ
Xcodeで作成するプロジェクトにライブラリを管理するプロジェクトを追加するようなイメージだと思います。その追加に関してコマンドラインでいけるので、楽ちんです。
早速導入
とりあえず、公式サイトと、このブログ記事あたりがわかり易かったので参考にして進めました。Rubyが使えることが前提です。恐らくMac購入した時点でRuby入ってるので使えるかなと。
CocoaPodのgemをインストール
[sudo] gem install cocoapods pod setup
gem install をしたあとターミナルを一旦閉じてやると良いかな。
とりあえずテストのためにプロジェクトを作成
適当な名前でXcodeのプロジェクトを作成します。僕はpodtestとしました。
Podfileを作成する
ターミナルか何かでプロジェクトのルートディレクトリにPodfileという名前のファイルを作成します。Podfileの中には、
platform :ios, '5.0' pod 'JSONKit', '~> 1.4' pod 'Reachability', '~> 3.0.0'
こんな感じで導入したいライブラリ名を書きます。5.0ってのはiOSの対応バージョンですが、これを書かないと、4.3からになるようです。4.3だと既に対応していないライブラリも多いので、5.0くらいで書いておくと良いのかなと思ったりしてます。
ライブラリをインストール
下記のコマンドでライブラリをインストールします。
pod install
インストールできなかった場合は、理由と失敗した旨が表示されます。成功すると、
こんな感じになります。
僕は一度ここでXcodeを再起動しました。そのままやってたら、次の動作をした時表示されないファイルとかが会ったので。
xcworkspaceからプロジェクトを起動
xcodeprojではなく新しく作成された、xcworkspaceからプロジェクトを起動します。今後はこちらを使ってゆくことになります。
プロジェクトの構成はこのようになっています。
Podsの方にライブラリが入っています。一度失敗したのでpodtest2となっていますが、こちらにいつもどおり記述していくことになります。
ライブラリを追加したい場合は、Podfileに追加したいライブラリを書き込んで、pod install
を行えば完了です。
楽ですね〜。
3件のコメント
とこさん · 2016-04-16 3:36 PM
はじめまして。プログラミング初心者の者です。現在cocoapodでライブラリを取り込む勉強をしているのですが1つ質問があります。
どうして
『xcodeprojではなく新しく作成された、xcworkspaceからプロジェクトを起動します。今後はこちらを使ってゆくことになります。』
これをしないといけないのでしょうか?
xcodeprojがxcworkspaceの代わりになるということはxcodeprojは必要なくなるのですか?もしよろしければ教えてください、、、。
morizotter · 2016-04-16 3:43 PM
とこさん、初めまして。コメントありがとうございます。
簡単に説明すると、xcworkspaceはxcodeprojを含むことになります。さらに、xcworkspaceはCocoapodsが生成した別のproject(xcodeproj)を含みます。
ビルドするために両方が必要なので、両方のプロジェクトを含んでいるxcworkspaceを起動する必要があるのです。
この回答で少しは前に進みましたでしょうか^^
とこさん · 2016-04-16 10:26 PM
morizotterさん、簡潔でわかりやすいお返事ありがとうございます。
理解することができました!
さらにxcodeworkspaceに編集して書き込んだものはその他の該当ファイルにも勝手にコピーされるのですね!Cocoapods…こいつはグレートですね!
morizotterさんのおかげでこれからガンガン ライブラリを使っていけそうです!
本当にありがとうございます!!