訳あってopenFrameworksに手を出してみました。フリーの環境である程度簡単に解析結果をビジュアライズすることが可能、かつマルチプラットフォームというとopenFrameworksが一番良さそうだったのが理由です。
Cinderという似たようなものもあるのですが、openFrameworksの方は、Linux版*1もあるのが決め手でした。
基本的にMac/iOS版はopenFrameworksをダウンロード後、解凍するだけで使えるのでお手軽です。解凍後、projectGeneratorでプロジェクトを生成すれば初期化されたXcodeプロジェクトが生成されます。C++を採用した環境でこんなに手軽にプロジェクトが新規作成できることに感動しました。
さて、本題です。
openFrameworksのprojectGeneratorで生成したプロジェクトは、そのままだとビルドエラーが出る場合があります。特にiOS版。エラーの内容は、こんな感じ。
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=arm64, VALID_ARCHS=armv6 armv7).
または
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).
どうやら、openFrameworksのライブラリは新しいCPUアーキテクチャに対応していないみたい。自前でビルドすれば別なんだろうけど。ライブラリファイルをfileコマンドで確認してみると対応しているCPUアーキテクチャが確認できます。
$file freeimage.a
freeimage.a: Mach-O universal binary with 2 architectures
freeimage.a (for architecture armv6): current ar archive random library
freeimage.a (for architecture armv7): current ar archive random library
プロジェクトをこんな風に変更すれば、正常にビルドできます。
Architecturesにarmv6、armv7を入れ、Valid Architecturesもarmv6 armv7としておきます。アプリのプロジェクトとiPhone+OF Static Libraryにも同じ設定をしておきます。
ちなみに、シミュレータで動作させる場合は、lib/osxの方に入っているライブラリの設定が必要です*2。
$file freeimage.a
freeimage.a (for architecture i386): current ar archive random library
アップデート(2015/6/17)
エラーのメッセージがシミュレータ用になっていたため、修正