关于iOS Push Notification响应的问题

当server向client投送通知时,client有以下几种情况:

1. 应用程序处于关闭状态,这时通知被显示;无论是点击应用图标还是点击通知,系统都会启动应用,并调用其代理方法,(application:didFinishLaunchingWithOptions:),通过launchOptions来传递通知。

if (launchOptions) {

NSDictionary* pushNotificationKey = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

if (pushNotificationKey) {

//这里定义自己的处理方式

}

}

2. 应用程序处于background状态,这时通知被显示。如果点击通知,应用调用application:didReceiveRemoteNotification:方法或application:didReceiveLocalNotification:方法,如果点击应用图标,则不会自动执行上面的方法。

3. 应用程序处于foreground状态,这时通知不会被显示。应用程序直接调用(因为应用在前台)其代理函数application:didReceiveRemoteNotification:方法或application:didReceiveLocalNotification:方法,传递响应的通知对象。

时间: 2024-10-05 05:04:52

关于iOS Push Notification响应的问题的相关文章

关于iOS Push Notification的响应问题

最近在做推送消息的时候遇到一个问题,就是当程序在后台运行时,这时候收到推送消息后,点击应用图标后无法拿到这个消息,至今还未解决,如有能够解决办法的朋友,忘不吝赐教. 简单总结一下推送消息的相应情况 1. 当程序处于关闭状态收到推送消息时,点击图标会调用- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 这个方法,那么消息给通过lau

iOS推送通知(Push Notification)的Erlang实现

本文来自:瑞仙的Erlang开发博客 原文链接:http://blog.csdn.net/zhongruixian/article/details/39528765 一.前言 关于cer/pem证书转换,网上很多资料,我这就不说了, 网上有PHP实现的Push Notification,可以参考, 为了更好的做PUSH服务定制,我这里以Erlang(gen_server)实现iOS Push Notification 二.协议 1.协议分析 表1 名称 长度 描述 Command 1 字节 固定

iOS 8 Apple Push Notification Service

Apple Configuration 1. create Apple ID in Apple Developer Website 2. check on "Push Notification" in the functionality 3. configure for Push Notification in Development: create certificate 3.1 upload the certificate file which is generated by ke

iOS上简单推送通知(Push Notification)的实现

http://blog.csdn.net/daydreamingboy/article/details/7977098 iOS上简单推送通知(Push Notification)的实现 根据这篇很好的教程(http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12),结合自己的实践,写下一点笔记,仅供参考:) 由于篇幅较长,我列出简单的目录,如下 1) 理解Apple推送通知的机制 2)

IOS 提交审核,遇到Missing Push Notification Entitlement 问题。

貌似不影响提交........还是有人提交成了. 昨天晚上提交软件审核,遇到了Missing Push Notification Entitlement 的问题. 问题起因:这个版本我添加了PUSH推送功能,然后上传软件后,就提示Missing Push Notification Entitlement. 解决办法:我重新生成了一下Distribution 的provisioning 证书,然后重新提交了一下就OK了. 问题原因:我以前上传了一个版本,没有PUSH功能,第二个版本添加PUSH后,

"Missing Push Notification Entitlement"警告-----以及解决方法

最近开发的cordova应用,要做ios的适配,并且发布版本,但是有一次在发测试版本的时候,突然收到一封邮件警告,原文如下: Missing Push Notification Entitlement - Your app appears to include API used to register with the Apple Push Notification service, but the app signature’s entitlements do not include the

Send push notification on Apple (APNS) on c#.net

原文: http://apns-c-sharp-net-vikram-jain.blogspot.com ======================= Please, Install your certificate *.p12 on pc, and take firend name use here for refernce. Please, set configuration file : <appSettings> <add key="FriendName"

iOS push全方位解析(二)【译文】&quot;——生成OpenSSL证书,Provisioning Profile

这是一篇来自raywenderlich的教程,内容翔实!结构简单透彻.讲解循序渐进.文章质量上乘!是一篇难的的博文!使用半瓶的英语水平翻译了一下: 1.[iOS push全方位解析](一) push的概述 2.[iOS push全方位解析](二) 生成push证书,生成Provisioning Profile(本篇) 3.[iOS push全方位解析](三) 一个极简的demo,并测试一下push 这里查看原文 ------------------------------------------

iOS开发-- Notification 通知与消息机制

概述 在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知机制就可以告诉用户此时发生的事情.iOS中通知机制又叫消息机制,其包括两类:一类是本地通知:另一类是推送通知,也叫远程通知.两种通知在iOS中的表现一致,可以通过横幅或者弹出提醒两种形式告诉用户,并且点击通知可以会打开应用程序,但是实现原理却完全不同.今天就和大家一块去看一下如何在iOS中实现这两种机制,并且在文章后面会补充通知中心的内容避免初学者对两种概念的混淆. 本文包括下面内容