Application Cycle ?!
멀티태스킹을 지원하는 Application 일 경우 홈 버튼을 눌러서 Background 로 이동하고,
다시 실행해서 Foreground 로 이동하는 일종의 사이클이 있다.
각각의 경우에 이벤트를 처리하는 함수들은 다음과 같다.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidEnterBackground:(UIApplication *)application
- (void)applicationWillEnterForeground:(UIApplication *)application
- (void)applicationDidBecomeActive:(UIApplication *)application
- (void)applicationWillTerminate:(UIApplication *)application
각 함수가 호출 되는 경우를 알아보면 다음과 같다.
1. 프로그램 처음 실행 시
(1) didFinishLaunchingWithOptions 호출
(2) applicationDidBecomeActive 호출
2. 홈 버튼을 한번 누를 경우
(1) applicationWillResignActive 호출
(2) applicationDidEnterBackground 호출
3. 위 상태에서 다시 어플 실행 시
(1) applicationWillEnterForeground 호출
(2) applicationDidBecomeActive 호출
4. 홈 버튼을 두번 누를 경우
(1) applicationWillResignActive 호출
추가적으로 XXX-info.plist 파일에
Application does not run in background (멀티태스킹 지원 해제) 항목을 추가 하고 체크 하면
홈 버튼을 한번 누를 경우 applicationWillTerminate 를 호출한다.
