XCTest + iOS7でテストを実行しても上手くコードカバレッジが取得できずに困っていたのですが、 最近@tokoromさんが取得できる方法を紹介していたので、 そちらを参考にして対応してみました。資料は以下のものです。

My unit test environment for Objective-C

Coverallsに対応したライブラリは以下のものです。

対応の肝となるのはISGcovFlusherをテストターゲットに追加しておくことです。 これを追加することでテスト終了時に__gcov_flush()を自動的に呼んでくれて*.gcdaが出力されるようになります。 なお、__gcov_flush()を呼び出すにはBuild Settingsの”Instrument Program Flow”と”Generate Test Coverage Files”をYESにする必要があるようです。

その他の詳しいことは各リポジトリの以下のファイルを参照してください。

  • Podfile
  • Makefile
  • .travis.yml