PhoneGap

2011年4月21日 (木)

PhoneGapでapplicationDidFinishLaunchingが実行されない

もう一つ備忘録メモ。
XcodeでPhoneGapプロジェクトを作成した際に自動的に生成されるPhoneGapDelegateの実装クラスのうち、applicationDidFinishLaunchingメソッド(起動直後に一度だけ呼ばれるやつ)が呼び出されない。

自動生成されるメソッドはこんな感じ
/**
* This is main kick off after the app inits, the views and Settings are setup here.
*/
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
[ super applicationDidFinishLaunching:application ];
}

よくよく調べてみたらスーパークラスのプロトタイプ宣言と違っていた。
↓のようにしたら呼ばれるようになった。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
BOOL result = [ super application:application didFinishLaunchingWithOptions:launchOptions ];
return result;
}

なんかバグっぽい気がするのでその内修正されると思いますが、結構悩んだので一応メモっときます。

PhoneGapでiPad

忘れないうちにメモ。

PhoneGapとXcodeでiPhone&iPadのユニバーサルバイナリに対応する感じの方法。

1. ターゲット→<アプリ名> を右クリック
2. 「現在のターゲットをiPad用にアップグレード…」を選択
3. 「One Universal Application」を選んで「OK」
4. Resourcesにある<アプリ名>-info.plistをテキストエディタで開いて、以下の2行を削除

<key>NSMainNibFile~ipad</key>
<string>-iPad</string>