2011-02-18 6 views
0

私はPhonegapを使い始めようとしています。Phonegap、iphone - applicationDidFinishLaunching not invoking

applicationDidFinishLaunchingにコードを追加しましたが、これは呼び出されていないようです。

私は、initメソッドとapplicationDidFinishLaunchingメソッドのそれぞれにブレークポイント(log、continue)を追加しました。これは後者が実際に呼び出されていないことを確認します。

Xcode、Objective-C、Phonegapは私にとっては外国人なので、解決方法は少し分かりません。

おかげ

編集:私はちょうど新しい空白の無修正のPhoneGapプロジェクトを作成しようとしました、と同じことが起こるの。 initブレークポイントは起動しますが、applicationDidFinishLaunchingは起動しません。

答えて

1

私はiPhone開発には初めてです。しかし、私はphonegapフレームワークを使用して1つの小さなアプリケーションを行っている。

我々はPhoneGapのフレームワークを使用する場合ははい、私たちのプロジェクトのapplicationDidFinishLaunchingが動作しないとアプリデリゲートでwebViewDidFinishLoadとwebViewDidStartLoadのような他の方法も動作しない...代わりに私たちのプロジェクトに含まれているPhoneGapLib.xcodeprojのこのapplicationDidFinishLaunchinWithOptionsの

をphonegapはexcuteになります。

NSLog();を書きます。そこ。 Uはコンソーシアムで出力を得るでしょう。

+0

「うまくいきません」という正解のようです:-)ありがとうございます。 – Rich

5

これは、Phonegap Xcodeテンプレートがアプリケーションのロードイベントに誤ったUIApplicationメソッドを使用しているためです。 iOS 4.0以上では、アプリケーションの呼び出し方法を開発者に知らせるオプションパラメータが含まれているため、applicationDidFinishLaunchingの代わりにdidFinishLaunchingWithOptionsを使用することをおすすめします。 iOS 4.0以降ではバックグラウンド処理がサポートされているため、アプリはAppleプッシュ通知から起動されている可能性があり、適切に処理する必要があります。

だから、この問題を解決するために、あなたはapplicationDidFinishLaunchingを参照し、代わりに次のコードが含まれ、あなたのAppDelegate.mファイル内のコードを削除する必要がありますのPhoneGap 0.9.3ライブラリが持っているいくつかの理由について

(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    //  Add custom code here 

    return [ super application:application didFinishLaunchingWithOptions:launchOptions ]; 
} 

PhoneGapDelegate.mのdidFinishLaunchingWithOptionsの正しい実装ですが、メインのXCodeテンプレートはまだ呼び出されないapplicationDidFinishLaunchingを参照しています。

関連する問題