忍者ブログ
  • 2024.04
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 2024.06
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/05/19 12:31 】 |
UIApplicationDelegateプロトコル
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
【2010/12/23 12:06 】 | iPhone | 有り難いご意見(0) | トラックバック()
<<OpenGLESの注意点 | ホーム | 「KAGEROU」>>
有り難いご意見
貴重なご意見の投稿














虎カムバック
トラックバックURL

<<前ページ | ホーム | 次ページ>>