CocoaPodsを使ってみて、とても便利だったのでメモします。
CocoaPodsは、Macや iOS アプリ開発者向けのライブラリを管理するツールで、
指定したライブラリを簡単にXcodeプロジェクト内に導入できます。
FMDBのライブラリを使いたいと思うとsqliteのlibファイルとか
ライブラリのファイル以外のものも追加したりと、面倒ですが
CocoaPodsを使うとそういったことも自動的にやってくれます。
手順の概要は以下の通りです。
- 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」が
チェク済み (インストール済み)である事を確認してください。
インストールしていない場合は、↓が表示されますのでクリックして
インストールを お願いします。
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」というファイルを作成してください。(拡張子なし)
作成したら、その中に以下のように必要なライブラリを記述をしてください。
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" 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" 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/