iPhoneアプリをホーム画面でタップしてから最初のアプリ画面が表示されるところまでの流れが、SDKドキュメントから見つけられなかったので(というか、英語で書かれたドキュメントが大量で、そもそもちゃんと見ていない)、新規プロジェクトのテンプレートから View-based Application を選んで、画面を表示するだけの簡単なプロジェクトを用意し、適当に見繕ったメソッドにNSLogを入れて、メソッドの呼び出し順を確認してみました。
動作環境は、iOS4.1です。
(アプリを初めて実行すると以下が発動) main UIViewController initWithCoder UIViewController awakeFromNib UIApplicationDelegate didFinishLaunchingWithOptions (viewController.viewを参照すると以下が発動) UIViewController loadView UIView initWithCoder UIView layerClass UIView awakeFromNib UIViewController viewDidLoad (windowにviewController.viewをaddSubviewすると以下が発動) UIViewController viewWillAppear UIView willMoveToWindow UIView willMoveToSuperview UIViewController shouldAutorotateToInterfaceOrientation UIViewController viewDidAppear UIViewController shouldAutorotateToInterfaceOrientation UIView didMoveToWindow UIView didMoveToSuperview UIApplicationDelegate applicationDidBecomeActive UIView drawRect (アプリ実行時にホームボタンを押すと以下が発動) UIApplicationDelegate applicationWillResignActive UIApplicationDelegate applicationDidEnterBackground (アプリをタスクバーから呼び出すと以下が発動) UIApplicationDelegate applicationWillEnterForeground UIApplicationDelegate applicationDidBecomeActive (アプリをタスクバーから消すとSIGKILLが発動) たぶんトラップ不能
NSLogを入れていないクラスやメソッドも他にたくさんあるので、呼び出しはこれで全てという訳ではないと思います。流れを見ると、タスクバーから消すときは、アプリに問答無用というのがかなり割り切ってますね。何かwillなんとか呼んでくれてその上で数秒後にSIGKILLならまだ救われるのだけれども…。