2012-09-26 30 views
6

誰もが、デリゲート関数didFinishLaunchingWithOptionsが、アプリケーションが初めて起動されたときとは別に、IOSによって呼び出されることをすべてのシナリオで教えてくれます。私はXCodeでデバイスにアプリを起動し、接続を削除して、wifi経由でデバイスにメッセージを送信しようとしました。私はdidFinishLaunchingWithOptionsが何度も呼ばれていないことに気付きました。なぜこのようなことが起こり、この関数が呼び出されるときの条件は何か。私はすべてのシナリオを理解することができません。 ありがとうございます。didFinishLaunchingWithOptionsがIOSによって呼び出されたときの条件

答えて

3

に記載されているこのシナリオ:

あなたがこの方法(および対応するアプリケーション方法::willFinishLaunchingWithOptions)を使用する必要があり、アプリケーションの初期化を完了し、最終的な微調整を行うこと。 このメソッドは、状態の復元後に、アプリケーションのウィンドウやその他のUIが表示される前に呼び出されます。このメソッドが返った後のある時点で、システムは別のアプリケーションデリゲートのメソッドを呼び出して、アプリケーションをアクティブ(フォアグラウンド)状態またはバックグラウンド状態に移動します。

+0

さて、いつ実行されるのですか?それは興味深い質問です... – turingtested

1
+0

UIApplicationLaunchOptionsRemoteNotificationKeyは、処理されるリモート通知などがあるたびにdidFinishLaunchingWithOptionsが呼び出されることを意味しますか? – clint

+0

私ははい(遠隔通知が処理されるとき)を理解しています。 – CAMOBAP

+0

しかし、私は私のアプリで通知を受け取るたびに呼び出されません。 – clint

0

あなたの質問は、すべてのシナリオでデリゲート機能didFinishLaunchingWithOptionsがIOSによって呼び出されることを教えていただけますか?

アプリケーションが強制終了または終了し、ユーザーがローカル通知またはリモートプッシュ通知を受信し、ユーザーが通知をタップすると、didFinishLaunchingWithOptionsがどちらの場合も最初に呼び出されます。

did "startMonitoringSignificantLocationChanges"を使用して位置の変更を監視しているときに、FinishedLaunchingWithOptionsも呼び出されます。 Appleから

このサービスを開始すると、その後にアプリケーションが終了すると、新しいイベントが到着した場合、自動的にアプリがバックグラウンドに再起動されます。このような場合、アプリケーションデリゲートのアプリケーション(:willFinishLaunchingWithOptions :)とアプリケーション(:didFinishLaunchingWithOptions :)メソッドに渡されたオプション辞書に、ロケーションイベントのためにアプリが起動されたことを示すキーの場所が含まれています。

関連する問題