そこで、それらのライブラリのインストールには 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 --version3. 対象プロジェクトの作成
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 件のコメント:
コメントを投稿