いまさらながらCocoaPods使ってみましたよー

いまさらながらCocoaPods使ってみましたよーいやー、簡単便利ですね。いくつかのサイトを参考にして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

インストールできなかった場合は、理由と失敗した旨が表示されます。成功すると、

P command

こんな感じになります。

僕は一度ここでXcodeを再起動しました。そのままやってたら、次の動作をした時表示されないファイルとかが会ったので。

xcworkspaceからプロジェクトを起動

xcodeprojではなく新しく作成された、xcworkspaceからプロジェクトを起動します。今後はこちらを使ってゆくことになります。

P folder

プロジェクトの構成はこのようになっています。

P project

Podsの方にライブラリが入っています。一度失敗したのでpodtest2となっていますが、こちらにいつもどおり記述していくことになります。

ライブラリを追加したい場合は、Podfileに追加したいライブラリを書き込んで、pod installを行えば完了です。

楽ですね〜。

参考URL

Pocket
LINEで送る

You may also like...

  • morizotter

    とこさん、初めまして。コメントありがとうございます。

    簡単に説明すると、xcworkspaceはxcodeprojを含むことになります。さらに、xcworkspaceはCocoapodsが生成した別のproject(xcodeproj)を含みます。

    ビルドするために両方が必要なので、両方のプロジェクトを含んでいるxcworkspaceを起動する必要があるのです。

    この回答で少しは前に進みましたでしょうか^^

    • とこさん

      morizotterさん、簡潔でわかりやすいお返事ありがとうございます。
      理解することができました!

      さらにxcodeworkspaceに編集して書き込んだものはその他の該当ファイルにも勝手にコピーされるのですね!Cocoapods…こいつはグレートですね!
      morizotterさんのおかげでこれからガンガン ライブラリを使っていけそうです!
      本当にありがとうございます!!

  • とこさん

    はじめまして。プログラミング初心者の者です。現在cocoapodでライブラリを取り込む勉強をしているのですが1つ質問があります。

    どうして

    『xcodeprojではなく新しく作成された、xcworkspaceからプロジェクトを起動します。今後はこちらを使ってゆくことになります。』

    これをしないといけないのでしょうか?
    xcodeprojがxcworkspaceの代わりになるということはxcodeprojは必要なくなるのですか?もしよろしければ教えてください、、、。