モジュールを作成して、デモアプリ等で利用する際に実機転送時に

[ERROR] : ** BUILD FAILED **
[ERROR] : The following build commands failed:
[ERROR] :   Ld build/Debug-iphoneos/gpuimagedemo.app/gpuimagedemo normal armv7
[ERROR] : (1 failure)

のようなエラーが発生する場合がある。 これは、Titanium がビルド時に最適化で利用していない内部モジュールとのリンクを切ってしまうために起こる。

build ディレクトリの下の Xcode のプロジェクトを開くと

Undefined symbols for architecture arvm7:
    ...
":_OBJC_CLASS_$_TiUIImageView":, referenced from:
    ...

のようにビルドエラーが発生している。

これを解決するには、モジュールで利用している内部クラスを、JavaScript 側のソースコードに現れるようにする。

例えば、今回の場合だと、TiUIImageView の参照先が見つからないとなっているので JavaScript のコードの方に

1
2
3
4
5
if (false) {
    Ti.UI.createImageView({
        image: 'demo.jpg'
    });
}

のようなコードを加えれば良い。バッドノウハウですね。。