The Pragmatic Ball boy

iOSを中心にやってる万年球拾いの老害エンジニアメモ

iOSでKiwiでテストする【環境構築】

Kiwiのドキュメントや他のサイトでも手順があったわけですが、そのままだとちょっとうまくいかなかったのでまとめておきます。(具体的にはKiwi.hのパスを通すところ)

  環境 : iOS4.3.2
  Kiwi :  commit 04bf281d35f4cee2c763bfca5c196fdb75b28b36

まず適当にプロジェクト(TestKiwi)を作成します。(SingleViewApplication)
include Unit Testsにはチェックを入れておきます


プロジェクトの作成が終わったら、Cmd + Uでテストを実行すると失敗しますがこれでOKです。(テストでひっかかっているところはとりあえずコメントアウトしておきます)


次にKiwiを取得します。手動でダウンロードしてきてもいいですが、Kiwiが更新されたときの同期を楽にするためにgit submoduleを使っておきます。

$ cd TestKiwi
$ ls
TestKiwi TestKiwi.xcodeproj TestKiwiTests
$ mkdir Frameworks
$ git submodule add https://github.com/allending/Kiwi.git Frameworks/Kiwi
Cloning into Frameworks/Kiwi...
remote: Counting objects: 1627, done.
remote: Compressing objects: 100% (556/556), done.
remote: Total 1627 (delta 1035), reused 1592 (delta 1010)
Receiving objects: 100% (1627/1627), 12.65 MiB | 297 KiB/s, done.
Resolving deltas: 100% (1035/1035), done.
$ ls Frameworks/Kiwi/
Classes Kiwi.podspec Other Sources Templates
Examples Kiwi.xcodeproj Readme.md Tests
Kiwi License.txt Resources install-templates.sh

下記コマンドでKiwiのディレクトリを開いてKiwi.xcodeprojをどラックランドドロップでXcodeの左の枠内のTestKiwiTestsのディレクトリに持っていきます。

$ open Frameworks/Kiwi

そうすると下のようになるので、Kiwiのテスト用のファイルを追加していきます。
中身が空のObjective-Cのファイルを作りたいのでEmptyで作ります。
適当にKiwiSpec.mという名前で作成します。(写真では.mが抜けているので注意)
下のTargetにTestKiwiTestsがチェックされていることを確認。
KiwiSpec.mに#import "Kiwi.h" を記載して、Cmd + U を実行するとエラーがでます。
Build SettingのHeader Search PathにFramework/Kiwiを追加



再びCmd + U でまだエラーがでます。

HeaderSearchPathに Frameworks/Kiwi/Classes を追加

これでめでたくビルドが通ります。

KiwiSpec.hにテストコードを記載し、Cmd + Uするとまたたくさんエラーが。

まずProjectの設定画面をひらいてTargetのTestKiwiTestsを選択し、Build PhasesのTarget DependenciesにKiwiを追加します。
Link Binary With LibrariesにlibKiwi.aを追加。
 そしてBuid Settingsに移動して、 Other Linker Flagsに -all_load を追加。

 これで Cmd + U でビルドが通るはずです。