- – application:didFinishLaunchingWithOptions: 當程序載入後執行
- – applicationDidBecomeActive: 當應用程序入活動狀態執行
- – applicationWillResignActive: 當應用程序將要入非活動狀態執行,在此期間,應用程序不接收消息或事件,比如來電話了
- – applicationDidEnterBackground: 當程序被推送到後臺的時候調用。所以要設置後臺繼續運行,則在這個函數裏面設置即可
- – applicationWillEnterForeground: 當程序從後臺將要重新回到前臺時候調用
- – applicationWillTerminate: 當程序將要退出是被調用,通常是用來保存數據和一些退出前的清理工作。這個需要要設置 UIApplicationExitsOnSuspend的鍵值
step 1,點擊 app icon 或者從應用程序url(比如在Safari地址欄中輸入應用程序url)啓動應用程序。
step 2,就會進入 UIApplicationDelegate 的
- (void)applicationDidFinishLaunching:(UIApplication *)application;或
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
step 3, 如果是從 url 啓動的則先進入 UIApplicationDelegate 的
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url;
然後再跳轉到step 4;否則直接跳轉到step 4;
step 4,進入 UIApplicationDelegate 的
- (void)applicationDidBecomeActive:(UIApplication *)application;
step 5,進入應用程序主循環,這時應用程序已經是活動的了,用戶可以與應用程序交互。
step 6,在 step 5 狀態下,如果按住 home 鍵或者進行任務切換操作,然後跳轉到 step 8;
step 7,在 step 5 狀態下,應用程序被中斷(如來電,來短信),進入 UIApplicationDelegate 的
- (void)applicationWillResignActive:(UIApplication *)application;
如果用戶選擇不處理繼續留在當前應用程序,則回到 step 4;如果用戶選擇處理,則跳轉到 step 8;
step 8,進入 UIApplicationDelegate 的
- (void)applicationWillTerminate:(UIApplication *)application;
當前應用程序關閉。