原文地址:http://www.cnblogs.com/gugupluto/p/3442191.html
(1) 点击桌面图标正常启动 App 或者杀死进程后点击推送消息启动 App
1.application:willFinishLaunchingWithOptions
2.application:application:didFinishLaunchingWithOptions
3.applicationDidBecomeActive
4.application:didRegisterForRemoteNotificationsWithDeviceToken
(2)拖下通知中心/双击 Home 键使 App 界面上移
applicationWillResignActive
(3)拖上通知中心/使 App 界面恢复原位
applicationDidBecomeActive
(4)按 Home 键使 App 进入后台
1.applicationWillResignActive 2.applicationDidEnterBackground
(5)点击 App 图标,使 App 从后台恢复至前台
1.applicationWillEnterForeground 2.applicationDidBecomeActive
(6)点击通知中心里面的远程推送,使 App 从后台进入前台
1.applicationWillEnterForeground 2.application:didReceiveRemoteNotification 3.applicationDidBecomeActive
(7)按住减号图标杀死 App 进程
applicationWillTerminate
(8)从 App 切换到微信之类的其他应用之后,再切换回来时
1.applicationWillEnterForeground 2.application:openURL:sourceApplication 3.applicationDidBecomeActive
注: 当程序处于后台时,点击推送消息进入前台会执行 application:didReceiveRemoteNotification,但直接点击推送消息启动 App 是不会执行该didReceiveRemoteNotification 的,在 didFinishLaunchingWithOptions 的 options 里面已经有数据表明当前是直接启动还是点击推送消息启动,localNotification 与 remote 类似,略。