2013年9月24日火曜日

CocoaPods を使ってみた

ここ最近はテスト関連の情報をよく見る。

そこで、それらのライブラリのインストールには github から取得する方法と、
「CocoaPods」 からインストールする方法が書かれいている。

CocoaPods。。。ここ最近色んな技術の名前を見ているので、消化不良気味で一歩引いていたが、何か良い事有るだろうという事で、調べてみた。

早い話、Xcode でのライブラリ管理が行えると言う物。
Ruby の RubyGem の様な物。

CocoaPods
http://cocoapods.org/

このリンクを見れば、全て書かれてあるが、実際に使ってみないと分からないので、試しに使ってみた。

一緒に参考にしたのは以下のページ

開発レシピ:Objective-Cのライブラリ管理ツール CocoaPods
http://www.iosjp.com/dev/archives/451

これまた、上記のページを見れば終わる(。。。この記事の意味は???)
でも気にしない。
今回は、前回の GHUnit の導入までを試してみる。

1. 前準備
CocoaPods のインストールには ruby(rubygems) を使用する。
ruby(rubygems) を最新の状態でのインストールが良いらしいので、最新の状態にしておく。
$ gem update --system
あと、Xcode の Command Line Tools も必要となるので、インストールする。

2. インストール
以下のコマンドで、CocoaPods をインストールする。
$ gem install cocoapods
インストール完了後は、一旦ターミナルを閉じて再度開き直すと良い。

そのあと、CocoaPods のセットアップコマンドを入力
$ pod setup
余談になるが、以下のコマンドでバージョンの確認が出来る
$ pod --version
3. 対象プロジェクトの作成
CocoaPods でインストールする GHUnit の対象となるプロジェクトを作成する。
今回はテストなので、適当に Xcode から Single View Application を作成する。

次に、テストを格納するプロジェクトを作成
Menu -> File -> New -> Target
作成したプロジェクトから、不要となるファイル(AppDelegate.m/h)を削除する。

プロジェクトナビゲータで、インストールに必要な QuartzCore.framework を追加

ここで、一旦 Xcode を閉じる(不要かも知れない)

4. CocoaPods の設定
上記で作成したフォルダまでターミナルで移動する(xxx.xcodeproj が有るところまで)。
CocoaPods が読み込む 「Podfile」 というファイルを作成する。
$ vim Podfile
platform :ios, '6.0'
pod 'GHUnitIOS', '~> 0.5.5'
5. インストール
Podfile が作成できたら、以下のコマンドによりインストールする。
$ pod install
これで、インストールが始まる。
インストールが完了したら、「xxx.xcworkspace」というファイルが作成されている。
(元々のプロジェクトファイル xxx.xcodeproj とは別に作成されているところに注意) このファイルをダブルクリックして Xcode を起動する。
(ターミナルから 「open xxx.xcworkspace」 とコマンドを打っても開く事が出来る)

6. GHUnit 使用前準備
プロジェクトナビゲータで、Build Settings の Other Linker Flags に 「-ObjC -all_load」 を追加する。

テストプロジェクトに main ファイルを作成する。
    int main(int argc, char *argv[]) {
        @autoreleasepool {
            return UIApplicationMain(argc, argv, nil, @"GHUnitIOSAppDelegate");
        }
    }
7. テストを書く
あとは、テストコードを記述していく。
(CocoaPods のインストールなのでここまでで終了)


注意点:
特に大きくはまった事もなくスムーズに導入できたので良かった。
とはいえ、凡ミスが多少あったので記載します。

引っかかった点としては、
  • Podfile を Profile と間違えていた。
    論外ですな。
    でも、間違ってたんです。。。
  • Podfile の記述で「:」と項目の間にスペースを入れてしまった。
    詰めて記述しないとダメなようです。
    ×「platform : ios」
    ○「platform :ios」
本当にしょうもないミスで恥ずかしい。。。

導入するまでは、また新しい技術かと尻込みしたけど、一度使い方を覚えれば、後の作業に十分対応できてしかも簡単となれば、導入する価値は十分有るなと思いました。

0 件のコメント:

コメントを投稿