(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进入后台

.applicationWillResignActive

.applicationDidEnterBackground 

(5)点击App图标,使App从后台恢复至前台

.applicationWillEnterForeground

.applicationDidBecomeActive

(6)点击通知中心里面的远程推送,使App从后台进入前台

.applicationWillEnterForeground

.application:didReceiveRemoteNotification

.applicationDidBecomeActive

(7)按住减号图标杀死App进程

applicationWillTerminate

(8)从APP切换到微信之类的其他应用之后,再切换回来时

.applicationWillEnterForeground

.application:openURL:sourceApplication

.applicationDidBecomeActive

注:当程序处于后台时,点击推送消息进入前台会执行application:didReceiveRemoteNotification,但直接点击推送消息启动App是不会执行该didReceiveRemoteNotification的,在didFinishLaunchingWithOptions的options里面已经有数据表明当前是直接启动还是点击推送消息启动,localNotification与remote类似,略。

UIApplicationDelegate里面最常用的几个函数执行顺序小结的更多相关文章

  1. [Vue]vue中各选项及钩子函数执行顺序

    在vue中,实例选项和钩子函数和{{}}表达式都是不需要手动调用就可以直接执行的. 一.生命周期图示 二.vue中各选项及钩子函数执行顺序 1.在页面首次加载执行顺序有如下: beforeCreate ...

  2. AngularJS指令嵌套时link函数执行顺序的问题

    今天研究指令嵌套时,发现子指令的link函数先于父指令的link函数执行. 这样和预想的顺序不一样. 也就是说,如果子指令的某个scope变量依赖于父指令传来的参数时,可能一直是undefinded比 ...

  3. Drupal7的theme函数执行顺序

    theme('name') 执行顺序: 1.当前主题_name(),这个函数一般在主题的template.php文件中 2.所在模块_name() 3.theme_name() 4.name.tpl. ...

  4. JavaScript Alert 函数执行顺序问题

    * { color: #3e3e3e } body { font-family: "Helvetica Neue", Helvetica, "Hiragino Sans ...

  5. JS中函数执行顺序的问题?

    作者:知乎用户链接:https://www.zhihu.com/question/23564807/answer/82996422来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  6. React组件生命周期-初始化阶段的函数执行顺序

    <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8& ...

  7. Unity Instantiate各函数执行顺序

    GameObject go = Instantiate(aaa) ;        go.GetComponent<NewBehaviourScript>().Init(); Instan ...

  8. js函数和变量的声明与执行顺序

    一.函数执行顺序 1.正常顺序 function f(){ alert(2); } f(); //alert 2 所有浏览器都能测试通过. 2.倒序调用 f(); //alert 2 function ...

  9. js函数和变量的执行顺序【易错】

    js函数和变量的声明与执行顺序 一.函数执行顺序 1.正常顺序 function f(){ alert(2); } f(); //alert 2 所有浏览器都能测试通过. 2.倒序调用 f(); // ...

随机推荐

  1. Qt编写控件属性设计器4-加载属性

    一.前言 控件能加载拖曳拉伸了,这些都是基本的前提工作,接下来的重点就是要动态加载选中控件的属性了,Qt的属性机制那是异常的强大,只能用强大到爆来形容,Qt中编写自定义控件,如果属性都用Q_PROPE ...

  2. List根据多个字段分组

    List<ClassEntity> distinctClass = classEntities.stream().collect(Collectors.collectingAndThen( ...

  3. MySQL中使用replace into语句批量更新表数据

    作为示例,我们在这里使用名为testdb的数据库,并且在其中创建两张一模一样的表: drop table if exists test_table_1; create table test_table ...

  4. [c++]struct timeval

    struct timeval { time_t tv_sec; // seconds long tv_usec; // microseconds }; re 1. struct timespec 和 ...

  5. iOS-iphone网络编程总结

    iphone网络编程总结 一:确认网络环境3G/WIFI 1. 添加源文件和framework        开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息.如果没有处理它们,是不会 ...

  6. 使用jenkins+sonar进行代码扫描,并发送自定义邮件

    jenkins架构 1.一台机器作为jenkins master不进行构建操作,只负责调度其他slave节点执行任务 2.一台slave机器作为执行机器存放从gitlab上拉取的代码,使用sonar- ...

  7. 【VS开发】【数据库开发】libevent简单入门和介绍

    libevent是一个基于事件触发的网络库,memcached底层也是使用libevent库,今天学习下. 总体来说,libevent有下面一些特点和优势: * 统一数据源, 统一I/O事件,信号和定 ...

  8. Linux集群环境准备及20项基础优化

    中小规模集群架构: 1.什么是集群? 简单地说,集群就是一堆机器 做同一件事, 例如:京东(www.jd.com)提供卖东西服务这就是一件事,可能是几千台服务器,在背后运转支撑这个网站. www.ba ...

  9. Tomcat部署WEB应用方式

    罗列在Tomcat部署web应用的几种方法,供以后翻阅,本博文以helloapp应用为例 Tomcat目录介绍 简单目录介绍如下 bin目录:包含tomcat启动/关闭等脚本,支持linux.wind ...

  10. Erlang:[笔记三,构建工具rebar之使用依赖]

    概述 类似Java中的Maven,Gradle,在Erlang中同样也有包管理的工具,Rebar提供Erlang依赖(包)管理机制,开发人员可以重复使用已有的模块,通过rebar引入自己的项目直接使用 ...