以前、似たような記事(最近使っていたiOSアプリ開発ツールやライブラリのまとめ | Technology-Gym)を書きましたが、
CocoaPodsを使い出してからライブラリの使い方が大分変わりました。

最近はCocoaPodsを使ってライブラリを管理するようにしているので、よく使うライブラリを簡単な紹介と一緒にまとめてみました。
 そのままインストール出来るように、Podfileも一緒にレポジトリに入っています。

細かい紹介は、上記をみてもらうとして、その中でもおすすめを書いておきます。

最初は、

CoreData周りを管理するライブラリです。
2.0.xで色々ゴタゴタがありましたが(child contextのsave周り)、2.1.0がリリースされ大分落ち着きました。

iOS5あたりからNested ContextsなどCoreDataでも色々UIをブロッキングしないような作りにできるなどの変化があり、
その辺の部分についてもMagicalRecordで扱いやすくするためのメソッドなどが用意されています。 (簡単なラッパーも多いです) 

マルチコンテキストなどについては情報自体が少ないので、MagicalRecordのソースを読むことで理解が深まる部分も多いです。
また、Fetch系のメソッドも便利ですが、その部分だけ欲しい場合は peymano/DVCoreDataFinders · GitHub がよく似たインターフェイスを持っています。

次は、

Objective-Cのユーティリティライブラリです。
NSArrayにmapやeachの追加、NSNullの罠っぽい動作の対処など、色々なライブラリで同じような機能は見ますが、
そういう便利なものをまとめたユーティリティライブラリです。
テストが書かれていて、必要な感じのものは大体あるので最近はよく使います。 

Objective-Cらしいメソッドとショートハンドの両方持っているところも好きなところです。

最後は

BDD系のテスティングフレームワークですが、特にBDDが好きだからというよりは消去法的にKiwiが残った感じです。
BDDというよりは、blocksを使ってネストしたテストを書ける所が便利なときがあるのと、
あまりViewを対象したテストは書かない感じだったのでGHUnitのようなアプリケーションテストではなくて、
OCUnit系のテストの方が適しててレスポンスも良かった。

また、Kiwiはmockやstubも持っていて、クラスメソッドのstubもできてまどろっこしくなかったも要因かもしれないです。
今だと、Stubbilinoというstubライブラリも クラスメソッドのstub ができます。

OCunit系のテストをする場合はAppCodeがテスト結果の表示や特定のメソッドのテストなどもできて、スムーズにテストを行えます。
(AppCode 2.0ではConfigurationの切り替えでインデックスが走らないようになったので、テストの切り替えがスムーズ) 
また、AppCode 2.0 EAP build #126.369 にてKiwiを公式サポートしました。
(以前から問題なく実行できたけど)テスト結果の表示などもOCUnitを使った場合と同じレベルになり、日本語を使ったit文なども表示されるようになりました。

しかし、Kiwi以外にもSpecify(内部で使ってるInlineというOCUnitにDSLを加えるのに使えるライブラリが面白い)や
TestPilot(OCMock,OCHamcrest,OCMockito,Stubbilino, Kiwiと便利なメソッドを集めたテストセット)などまだまだiOSのテスト周りは面白いものがどんどん出てきてると思うので、
Kiwi以外の選択肢も色々あると思います。

他にも便利なライブラリはたくさんあるので、それらは以下に書いていきたいと思います。

ちなみに、このレポジトリの元ネタは yaakaito/Podfile · GitHub です。

Post Navigation