2011/09/04

AdView でエラー


久しぶりにこの画面を見ました。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 件のコメント:

コメントを投稿