CocoaPodsを使ってみた

CocoaPodsを使ってみて、とても便利だったのでメモします。
CocoaPodsは、Macや iOS アプリ開発者向けのライブラリを管理するツールで、
指定したライブラリを簡単にXcodeプロジェクト内に導入できます。

FMDBのライブラリを使いたいと思うとsqliteのlibファイルとか
ライブラリのファイル以外のものも追加したりと、面倒ですが
CocoaPodsを使うとそういったことも自動的にやってくれます。

手順の概要は以下の通りです。

  1. Rubyのインストール

* Command Line Toolsのインストール
* CocoaPodsのインストール
* Podfile」の作成(Xcodeのプロジェクトに必要なライブラリを記載します。)
* 4で指定したライブラリをコマンドでインストール
* ライブラリが取り込まれている事をXcodeで確認

順に追って説明します。

1.Rubyのインストール

CocoaPodsのインストールに必要なのでインストールします。
OSXでは既にインストールされているので、何もする必要がありませんが、
念のために、まずはRubyGemsを最新状態に更新するために、ターミナルから
以下のコマンドを実行してください。

$sudo gem update --system

2.Command Line Toolsのインストール

CocoaPodsのインストール前にもう1つインストールする必要があります。
CocoaPodsはXcodeのCommand Line Toolsを使用するので、
Xcodeの「Xcode」⇒「Preferences」を開き、Downloadタブから
「Components」のリスト内にある「Command Line Tools」が
チェク済み (インストール済み)である事を確認してください。

スクリーンショット 2013-11-20 1.37.38

インストールしていない場合は、↓が表示されますのでクリックして
インストールを お願いします。

Xcode5.0.2ではCommand Line Toolsが表示されなかったので、以下を実行してインストールしました。

xcode-select --install

3.CocoaPodsのインストール

いよいよCocoaPodsのインストールです。
ターミナルで以下を実行してください。(※少し待ち時間がありました。)

$sudo gem install cocoapods

途中でOverwrite the executable? [yN] と聞かれるのでyを入力してEnter

$pod setup

4.「Podfile」の作成(Xcodeのプロジェクトに必要なライブラリを記載します。)

準備が整ったので、早速「Podfile」を作成していきます。
「Podfile」には、Xcodeのプロジェクトに必要なライブラリを記載します。
Xcodeでアプリのプロジェクトを作成したフォルダの○○○○.xcodeprojと同じ階層に
「Podfile」というファイルを作成してください。(拡張子なし)

スクリーンショット 2013-11-20 1.55.30

作成したら、その中に以下のように必要なライブラリを記述をしてください。

platform :ios
pod 'SVProgressHUD','~>0.8'
pod 'Toast','~>2.1'
pod 'Reachability','~>3.1.1'
pod 'FMDB','~>2.1'

ライブラリ名とバージョンは以下を参考にしてください。

  • CocoaPos対応ライブラリ一覧

https://github.com/CocoaPods/Specs

5.4で指定したライブラリをコマンドでインストール

では、「Podfile」で指定したライブラリを自動インストールします。
ターミナルで「Podfile」と同じ階層に移動し、以下のコマンドを実行してください。

$ pod install

[!] From now on use TestApp.xcworkspace.と表示されれば、成功です。

  • 以下のエラーが出た場合
[!] Invalid `Podfile` file: compile error
/Users/xxx/Documents/ws_xcode5/sample/TestApp/Podfile:1: syntax error, unexpected tIDENTIFIER, expecting $end
pod 'ASIHTTPRequest', '‾> 1.8.1'
^. Updating CocoaPods might fix the issue.

# from /Users/xxx/Documents/ws_xcode5/sample/TestApp/Podfile:1
# -------------------------------------------
pod 'ASIHTTPRequest', '‾> 1.8.1'
# -------------------------------------------
myair:TestApp xxxx$ pod install

原因は、改行コードの問題で改行コードがCRになっていたことでした。
LFにしなければいけないようです。

6.ライブラリが取り込まれている事をXcodeで確認

<a href="https://nekosoftware.wordpress.com/wp-content/uploads/2013/11/e382b9e382afe383aae383bce383b3e382b7e383a7e38383e38388-2013-11-20-1-43-04.png"><img class="alignnone size-medium wp-image-602" alt="スクリーンショット 2013-11-20 1.43.04" src="https://nekosoftware.wordpress.com/wp-content/uploads/2013/11/e382b9e382afe383aae383bce383b3e382b7e383a7e38383e38388-2013-11-20-1-43-04.png?w=300&quot; width="300" height="179" /></a>

「Podfile」を作成したXcodeのプロジェクト内にいくつかファイルができます。

  • Podfile.lock
  • Pods
  • TestApp.xcworkspace

3番目のTestApp.xcworkspaceを開いてください。
(今回のプロジェクト名はTestAppとしました。)
以下のようにライブラリが取り込まれています。

<a ref="https://nekosoftware.wordpress.com/wp-content/uploads/2013/11/e382b9e382afe383aae383bce383b3e382b7e383a7e38383e38388-2013-11-20-1-59-46.png"><img class="alignnone size-medium wp-image-604" alt="スクリーンショット 2013-11-20 1.59.46" src="https://nekosoftware.wordpress.com/wp-content/uploads/2013/11/e382b9e382afe383aae383bce383b3e382b7e383a7e38383e38388-2013-11-20-1-59-46.png?w=300&quot; width="300" height="219" /></a>

その他

CocoaPodsで最新のライブラリにアップデート

Podfileのあるディレクトリに移動し、以下のコマンドを実行

$ pod update

一部のライブラリのバージョンを上げる場合などは、Podfileのライブラリバージョンを
上げてpod updateでバージョンを更新することができる。
なお、バージョン指定していない場合にpod updateすると、ローカルのライブラリのバージョンと
最新のバージョンを比較して、最新バージョンがある場合は、アップデートしてくれる。

CocoaPodsアップデート方法

$ sudo gem update cocoapods

SSLエラー回避の設定

$ git config --global http.sslVerify false

自分のリポジトリの追加

pod repo add myPodsRepo git://xxxxxx/xxxxxx/podspec.git
$ cd ~/.cocoapods/; ls
master/  myPodsRepo/