久しぶりにこの画面を見ました。iPhone 3G iOS 3.1.3 に、UI.iOS.AdView を使った Titanium Mobileのアプリを実行した画面です。Titanium Mobile が iOS 3.x には存在しない ADBannerView を直接 allocしているためです。参考文献にあるように、Framework が使用可能か事前チェックが必要です。
解決方法としては、
- iOS Deployment Targetを変更せずに、Titanium 側の Javascript で iOS のバージョンをチェックして、実行時に UI.iOS.createAdView するかどうか決める。
- ビルドされたアプリのアプリケーションバンドルの info.plist を修正する
- build.py を書き換えて、iOS Deployment Target を指定できるようにする。
- UI.iOS.AdView のソースファイルを正しい状態にする。
などが考えられます。
普通には、最初の方法をとるのが妥当だといえるでしょう。この考えに基づいたwork aroundが、たとえば、Titanium Q&Aに
があります。
参考文献
Using Weakly Linked Classes in iOS
Using Weakly Linked Methods, Functions, and Symbols
0 件のコメント:
コメントを投稿