Cappuccino7βを使ってみた#3

Cappuccino7βを導入した最大の目的であった「Interface Builderで作成した
nibファイルをCappuccinoアプリに適用する」をやってみた。
これをするためには、Interface Builderでnibファイルを作成し、nib2cibでCappuccinoアプリ用のcibファイルに変換する必要がある。
Linux上でビルドしたCappuccino7βのnib2cibを使おうとしたが、nib2cibはibtoolを必要とするため、Linux上では使えないことがわかった。
ibtoolはMacのツールなので、しかたなく、MacでCappuccino7βを再ビルドすることにした。

何故かビルドができない

ここでトラブル発生。2日前に取得したCappuccino7βは、Linuxでビルドができたのに、Macではビルドができない。Externalディレクトリにあるnarwhalのビルドで失敗する。試しに、RakefileのExternalをなくしてみても、ビルドに失敗する。ビルドに関するページを読むと、Macなら、何もしなくても使えるとなっている。何故か?
githubを数分眺めてみたところ、理由がわかった。1日前からExternalディレクトリが追加されている。しかも、narwhalは実体がない。
恐らく、githubにあるソースツリーがおかしくなっている。CappuccinoのページからCappuccino7βを辿って、ソースを入手した人は、ビルドに失敗すると思われる。
回避策は、以下のブランチからソースを入手すればよい。
http://github.com/280north/cappuccino/tree/0.7b-integration
ここから取得したソースで、ビルドは無事完了。

Interface Builderで作成したnibファイルをCappuccinoアプリに適用する

ようやく、「Interface Builderで作成したnibファイルをCappuccinoアプリに適用する」に取り掛かる。
Macでビルドしたnib2cibを使うと、あっさり、動いた。すばらしい。CPTableViewなどサポートしていないViewもあるが、特に問題なし。次にリリースされるCappuccinoでは、Interface Builder対応が進んでいるので、使えるViewが増えていく。しかも、ViewとViewの連携までできる。すばらしい。これがあれば、UIが簡単に構築できる。
まだ一つ分かっていないのが、cibファイルで作ったViewのインスタンスとプログラムを連携させる方法。これについては、もう少し調べてみようと思う。