× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
UIApplicationDelegateプロトコルの主要なメソッドの解説
普通、***AppDelegate.mとして自動的に作られている 前説 background, foregroundはiOS4以降に出てきた概念。 アプリを実行中にホームボタンを押すと、background状態に移行する active, inactiveはiOS4以前からある。 電話がかかってきてアプリを一時中断したときなどにinactiveになる。 backgroundは、inactiveである。(逆は成り立たない) backgroundの間は、ユーザからは見えない。inactiveの間は、操作はできないが見えている可能性があり、描画はしている必要がある。 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions アプリの起動時に呼ばれる 似た関数にapplicationDidFinishLaunching:もあるが、推奨されていないとのこと - (void)applicationWillResignActive:(UIApplication *)application アプリがアクティブ状態から非アクティブ状態になるとき呼ばれる 電話が来て中断したり、ホームボタンを押してアプリが裏にいったとき ゲームを一旦停止する処理を書く 非アクティブ状態のアプリは、実行はされているが、どのResponderもイベントを受け取らない。 - (void)applicationDidBecomeActive:(UIApplication *)application アプリがアクティブ状態になるとき ゲームを再開する処理を書く - (void)applicationWillTerminate:(UIApplication *)application アプリが終了するとき。メモリ上から完全に消し去る ゲームの終了処理を書く 5秒以内に済ませられないと、システムに強制的にキルされる。 iOS4より前なら、ホームボタンを押したときに呼ばれる。 iOS4以降なら、基本的に呼ばれることはない。backgroundで実行し続けるから。ただしシステム(iPhone)が終了したときには呼ばれる。 - (void)applicationDidEnterBackground:(UIApplication *)application iOS4以降。 アプリがバックグラウンドに入ったとき。(ホームボタンを押したとき) 描画に関係のない処理 これが呼ばれる前には、applicationWillResignActiveが呼ばれている - (void)applicationWillEnterForeground:(UIApplication *)application iOS4以降。アプリを選択したとき このあとには必ず applicationDidBecomeActive が呼ばれる 流れ 起動 application:didFinishLaunchingWithOptions: applicationDidBecomeActive ホームボタン押す(バックグラウンドへ) applicationWillResignActive applicationDidEnterBackground アプリアイコン押す(フォアグラウンドへ) applicationWillEnterForeground applicationDidBecomeActive 電話受信、実行中アプリ表示、アラート表示など(非アクティブへ) applicationWillResignActive 電話終了、実行中アプリ表示の終了、アラート消去など(アクティブへ) applicationDidBecomeActive 実行中アプリから消去 --落ちた。なぜ ← 落ちた理由はこれ PR |
|
トラックバックURL
|