iOS远程推送对代理方法调用的理解
来源:互联网 发布:淘宝什么利润大 编辑:程序博客网 时间:2024/04/28 08:58
iOS收到远程推送时,主要涉及到三个代理方法的调用:
1、- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;2、- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo;3、- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler;
注意:第3个方法是iOS7之后支持的,如果实现了第3个方法,则第2个方法不会调用。
收到远程推送时,如果用户点击APP图标启动,则方法2、3都不会调用,方法1中的launchOptions中不会包含远程推送消息键值对。
1、- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
(1)、收到远程推送时,点击APP图标启动,launchOptions中不会包含远程推送消息的键值对;(2)、收到远程推送时,如果APP未启动,同时用户点击通知打开APP,则调用此方法,launchOptions中包含远程推送消息的键值对。
2、- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo;
(1)、收到远程推送时,点击APP图标启动,不会调用此方法;
(2)、收到远程推送时,如果APP处于前台,调用此方法;
(3)、收到远程推送时,如果APP处于后台状态,不会调用此方法,只用用户点击通知打开APP,APP由后台变为前台时,调用此方法。
3、<pre name="code" class="objc">- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler;
(1)、收到远程推送时,点击APP图标启动,不会调用此方法;
(2)、收到远程推送时,如果APP处于前台,调用此方法;
(3)、收到远程推送时,如果APP处于Background 或 Suspended 状态,此时远程推送包含 {"content-available":"1"}字段,则调用此方法,如果用户通过 App Switcher将应用从后台 Kill 掉应用将不会唤醒应用处理 background代码;如果远程推送不包含 {"content-available":"1"}字段,不会调用此方法。
0 0
- iOS远程推送对代理方法调用的理解
- 对代理方法的理解iOS
- 远程推送didReceiveRemoteNotification代理方法调用详细说明
- IOS远程推送和本地推送的理解
- iOS的远程推送
- iOS远程推送的原理
- 基于JMS代理的支持注解的远程方法调用
- iOS 代理模式频繁调用代理方法的优化
- iOS远程推送(.p12转.pem方法)
- 代理中实现代理方法和调用代理方法的理解
- 谈谈对ios之协议代理的理解
- 我对IOS中代理和block的理解
- iOS系统推送的理解
- 对代理模式的理解
- 对代理的一些理解
- iOS-本地推送和远程推送,常用的三方推送和常用的测试方法,推送实现和原理详解
- iOS推送之远程推送
- iOS推送之远程推送
- 杨中科:我的大学生活
- 实现eclipse可视化操作
- Java web查出的数据导出为Excel的表格
- des加密解密算法(js+java两端结果相同)
- python操作数据库PostgreSQL
- iOS远程推送对代理方法调用的理解
- 使用expect自动ssh到远程主机
- Mysql数据库各查询整理
- C++继承之构造析构函数调用
- Sketch 快捷键速记表(中英对照)
- centos chown改变文件拥有者
- SQL学习笔记11——视图查询
- Android 数据持久化
- 自定义imageview缩放与viwepager的滑动冲突